.toString() and .toSQL() methods don't escape '?' character.

Hi, I'm using 'toString' method to store generated queries before inserting them. If column name contains a question mark, then knex generates wrong column names for insert query(e.g. column name can take one of inserted value in addition to its name).
Also, I checked toSQL method - if column name contains a question mark, then I'm getting knex errors in 'raw' method even if I escape this character by '\\'.

Please add an example to reproduce this.

@elhigu there it is

I'm also seeing ? replaced by $1, $2, etc when inserting data into json/jsonb columns using the knex.raw(...) syntax. Here's my code:
module.exports = ({ knex, table, data, constraint }) => {
  const insert = knex(table).insert(data);
  const updateData = Object.assign({}, data);

  // don't change the createdAt date when updating
  delete updateData.createdAt;
  const update = knex.queryBuilder().update(updateData);

  const query = knex.raw(`${insert} ON CONFLICT (${constraint}) DO ${update} returning *`);
  return query.then((result) => result.rows[0]);
};

If I use the normal knex.insert() API all is fine. I tried escaping the ? using:

/?
//?
///?
??

But nothing seems to work.

@wilsonpage you shouldn't convert queries to strings with js template strings ${}
const query = knex.raw(`${insert} ON CONFLICT (${constraint}) DO ${update} returning *`);

this way value bindings are kept as value bindings and passed correctly to db driver
const query = knex.raw(`? ON CONFLICT (??) DO ? returning *`, [insert, constraint, update]);

@elhigu what's the solution then?

This alternative upsert method solved the problem for me. Still not sure what the cause was though.

@mstralenya ? -marks in identifier names are tough. Currently they are not escaped... this problem is pretty complex. Maybe it would be better if identifier wrapper would automatically escape question marks in identifiers. I'm closing this as a duplicate in favor to https://github.com/tgriesser/knex/issues/2152 which already contain some more discussion about the issue.

@wilsonpage when you use ${} to render queries, knex interpolates all strings and escapes values by itself. So query is passed as plain string to DB driver with all the values (including json data string containing ? -marks) are inlined.
When subqueries are passed with ? bindings to knex.raw, all their internal values are still passed as safe parameter bindings to db driver, so knex converting ? -> $1, $2 etc. won't break...

Use this; https://laravel.com/docs/5.5/database#listening-for-query-events

There seem to be some inconsistency depending on what environment you are running. At least what have worked for some does not work for other. What I did that solved my problem was this:
INSERT INTO db."table"("id", "bodyText") VALUES (1234, '\? - \\? - \\\? - \\\\? # /? - //? - ///? - ////?');
In my case the output was: ? - $13 - ? - $14 # /$15 - //$16 - ///$17 - ////$18 ie. I am now using single backslash for escaping the question mark which works with my environment. My knex version is 0.14.6,
but I can't promise that I don't have any other node packages that touches my queries before they are executed.


ci: add ruff check build

This PR adds the workflow to perform the ruff check on push and pulls and clears the remaining ruff violations.
Majority of the violation clearing involved adding several # noqa: F405 comments. I am not sure if there is a better way to handle that, but happy to adjust as necessary.
Closes #14
Edit: Just pushed again to fix the import around pydantic in the test_y file causing the tests to fail. Should we also go ahead rename this to something else as mentioned in https://github.com/kszucs/koerce/issues/14#issuecomment-2391408463?

Thanks Tyler! Sure, please go ahead and rename test_y.py


Input normalization

why do you normalize the input with this function ?
https://github.com/aitorzip/Keras-ICNet/blob/bcc13bf5dd39abd3496dd669b245b91c31d7ff16/model.py#L16
It looks like an input value of 255 (let’s say in the green channel) would be normalized to 0.5 instead of 1 in that same channel.
I don’t understand why, can you help me ?

@MathiasGilson I guess the reason is because he want to rescale to range from 0-255 to -0.5-+0.5. The intuition behind this is similar to batchnormalization, which helps training to converge faster due to normalized linear projection.


Syncing two clients returns 410 after server state is deleted

Hi everyone,
I'm in the process of migrating my taskd to taskchampion-sync-serve. I've set up the server as describe in the README. Also, I have two clients that I migrated to task 3.
When I try to sync them, I get the following error message:
480 ~/s/taskwarrior-3 (develop|✔) $ ./build/src/task sync
Failed to synchronize with server: Server Error: http://task.internal:8080/v1/client/get-child-version/fd16fa03-30d9-4e39-a7e0-5fdddc2d6a92 responded with 410 Gone

The different should be only a single task. Any suggest what the problem might be?

Hm, that error occurs when a version that used to exist on the server, as remembered by the client, no longer exists. Perhaps at some point you reset the state of the server? Because the client "remembers" the last version it uploaded, doing so is a bit problematic!
Do the two clients currently have the same set of tasks, or is one of the two "correct"? If not, that will need some manual intervention. Once that's done, I'd suggest task export the correct data and start from scratch:

reset the server state (just delete its DB file)
reset both client states (delete their DB files)
on one client, run task import and then task sync
on the other client, run task sync
At this point, you should see the same tasks on both clients.

There is a bug here, without which recovery would be a little easier. Currently, if you take a replica that has already been syncing to some other server for some time (and thus remembers the last version it uploaded), then delete the server state, the server should allow simply uploading the new version, as long as the server state is empty. However, as you've seen right now it replies with "410 Gone" which the client interprets as "the child version existed and has been deleted" and reports an error -- this might happen on a client that hadn't been synced in months or years, for example. Returning a "404 Not Found" would be better, as the client interprets that response as "there's no child version, go ahead and upload one".
Anyway, please try the above steps and once you're back up and running, I can take a look at fixing the bug. The fix isn't hard, but I'll want to update the protocol specification as well to ensure other implementations don't make the same mistake.

@Akendo any luck?

(I still need to finish the docs and make a PR for that)

Thank you very much, I was able to make it running by deleting the container with the service that it was running it. Hence, resetting the initial server state was the key.
However, I feel like we need to make the service more resilience to deal with such situations. It means that one of the clients created an inconsistent state and I feel like that's something that's going to happen once in a while, and I feel like resetting the database seems like not the best way to deal with this.
Not sure how I can do this, I'm fairly limited with time, but testing is something I can do for sure.
Still, I appreciated it very much. Keep up the good work!

I'm unclear what happened that led to the inconsistent state - it seems like either the server's db was manipulated manually or a clients state was. Given a reproduction we could look at how to handle it.


Flow stoped looking at node_modules at all

After upgrade to<EMAIL_ADDRESS>flow started to fail on every package not listed in flow-typed/ even with own definitions.
Error: containers/RangeChart/Marker.test.js:4
  4: import renderer from "react-test-renderer";
                          ^^^^^^^^^^^^^^^^^^^^^ react-test-renderer. Required module not found

Error: containers/RangeChart/RangeChart.js:5
  5: import AutoSizer from "react-virtualized/dist/es/AutoSizer";
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ react-virtualized/dist/es/AutoSizer. Required module not found

Sorry, my bad


enhancement(linter) expand only-used-in-recursion to support jsx

currently, only-used-in-recursion only supports cases such as:
function foo(arg0) {
    foo(arg0)
}

it could be expanded to support cases such as:
function Listitem({ depth }) {
    return <Listitem depth={depth + 1} />
}

cc @no-yan

cc @no-yan

i can't seem to assign this. But @no-yan is going to work on it!

You can only assign an outside contributor when they make a comment here.

It would have been better to comment here. Thanks for the reminder!
@camc314

Why does the only-used-in-recursion rule only apply fixes when the argument is at the end of the function? Is it to avoid issues with residual arguments?
The only edge case I can think of is when using the spread operator in JSX attributes. Do you have any other potential edge cases in mind?

For example, in this case, the spread operator might alter the program’s behavior, which is why no fix is applied:
function Test(props) {
    return (
        <Test key={2} {...props} />
    );
}

But in most cases, like the one below, removing an argument seems safe in JSX:
- <Item innerItem={item} width={width} />
+ <Item width={width} />

Why does the only-used-in-recursion rule only apply fixes when the argument is at the end of the function? Is it to avoid issues with residual arguments?
i think i did it this way because if you remove args that are not the last one, you've got to also find everywhere the fn is used and remove those args also to retain the same behaviour. Feel to skip a fixer for this one
The only edge case I can think of is when using the spread operator in JSX attributes. Do you have any other potential edge cases in mind?

i think reporting the spread should be fine. i can't think of any other edges.
function Test(props) { // could be {key: 0}
    return (
        <Test key={2} {...props} />
    );
}

reporting here should be fine right? i don't think key: 0 can ever be in the props
From the react docs

Note that your components won’t receive key as a prop. It’s only used as a hint by React itself. If your component needs an ID, you have to pass it as a separate prop: .

Thanks for the clarification!

reporting here should be fine right? i don't think key: 0 can ever be in the props

(This might be off-topic)
You're right that it doesn't end up in the props, but it does end up in the key.
The jsx implementation prioritizes element.props.key (e.g. <Component {...{key:0}}) over element.key (e.g., key={2}).
So, if we remove this props, it could unintentionally cause the key to change.


docs: rebuild docs

This pr includes:

yarn -> pnpm, pnpm has better performance on both install and startup
deps update
typo fixes
broken link fix
replace @vuepress/plugin-search with vuepress-plugin-search-pro which can index all content

Thank you very much! Awesome!

Emm, just have another check, I missed this line:
https://github.com/taskiq-python/taskiq/blob/10bd19dc9df92083ee4b31749cabffc553a607c4/.github/workflows/release.yml#L39
You may need to fix it to docs/.vuepress/dist I guess, or you should add dist: './docs-dist' in .vuepress/config.ts, sorry for that.

I've fixed it. Don't worry.


Raise psr/simple-cache: ^2.0|^3.0, set psalm to 1.

Q
A

Is bugfix?
❌

New feature?
✔/❌

Breaks BC?
❌

the tests mssql fail https://pecl.php.net/ its down.


rakudo: 2017.01 -> 2020.01

dependencies:
- moarvm: init at 2020.01.1
- nqp: init at 2020.01
- zef: init 0.8.2
Motivation for this change
Update rakudo to 2020.01, by replacing rakudo-star with rakudo, moarvm, nqp. And added the zef package manager.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @thoughtpolice @vrthra @volth

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixos-20-03-feature-freeze/5655/35


Exception has been thrown by the target of an invocation

please help me ... :(

Hi @frandisag
Sorry to hear you're having issues with this. We can't do much before you provide us more information like repro steps, call stack, ax 2012 version, basically how could we repro your issue?

i use ax 2012 r2, actualy this's my fault. i ran app outside the domain server.
now i can running this api on my computer, thanks a lot for code 👍 , you re really awesome,
have a great day

Glad you solved it @frandisag.
Rel to the code, it was all @ffilardi and AX community ;)
@ffilardi you may close the issue


Add one new STOR_VHDX case to plug/unplug two scsi disks continuesly,…

… and minor update Add-VHDXForResize to refine ide support

Thanks Jing Li for the automation updates!
In regards to the new test case - VHDx_DiskHotAddRemove_Loop - we actually already have an automation in test case called VHDx_DiskHotPlugUnplug, which does the same thing.
The only difference might be the loop, which is a nice addition.
If no other high level changes are between these 2 test cases, I would propose to update the existing test case VHDx_DiskHotPlugUnplug with your additions, so that we don't have different test cases that cover the same functionality.
Thank you!

Hi Chris,
Thank you so much for your review, will update based on comment.
To avoid duplication, plan to remove original files STOR_unPlug.sh, and STOR_unPlug.ps1, then rename new file "STOR_unPlug_Plug_Loop.ps1" to  "STOR_unPlug_Plug.ps1" which support LoopCount", and only keep one case. Is it ok?

I would go with STOR_unPlug_Plug.ps1 instead of STOR_unPlug_Plug_Loop.ps1 but the plan sounds good, as long as the initial script/test case functionality is kept in the loop'ed version as well.

@Jingli1985 I think we're missing STOR_unPlug_Plug.ps1 now after the last changes

@chvalean The file has been pushed . sorry for missing it


Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: 8522

Describe the issue
My bot subscribes to unhandled exceptions and I receive regularly the error: Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: 8522
Expected behavior
The call is stopped but I still receive this error
Graph SDK (please complete the following information):
Microsoft.Graph.Communications.Calls.Media <IP_ADDRESS>2
Call ID
ec8cbd23-e6cf-4095-bf0c-d91192e40968
Logs
A task has encountered an unobserved exception
System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. ---> Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: 8522
Message: Call not found.
Scenario Id: ec8cbd23-e6cf-4095-bf0c-d91192e40968
Inner error:
AdditionalData:
date: 2020-09-17T11:34:41
request-id: 8f232da6-2d74-4133-ba3d-7cc4b52dbc7b
client-request-id: ede4d02e-018b-4d3e-97a5-30c6fc0e2e95
---> Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: 8522
Message: Call not found.
Inner error:
AdditionalData:
date: 2020-09-17T11:34:41
request-id: 8f232da6-2d74-4133-ba3d-7cc4b52dbc7b
client-request-id: ede4d02e-018b-4d3e-97a5-30c6fc0e2e95
at Microsoft.Graph.Communications.Client.Transport.GraphAuthClient.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Client.Transport.GraphAuthClient.d__42.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Graph.Communications.Common.Transport.GraphHttpClient.<SendAsync>d__241.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Client.Transport.GraphClientWrapper.d__121.MoveNext()    --- End of inner exception stack trace ---    at Microsoft.Graph.Communications.Client.Transport.GraphClientWrapper.<ValidateAndWrapAsync>d__121.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Client.Transport.GraphClientWrapper.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Calls.StatefulCall.d__25.MoveNext()
--- End of inner exception stack trace ---
---> (Inner Exception #0) Status Code: NotFound
Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: 8522
Message: Call not found.
Scenario Id: ec8cbd23-e6cf-4095-bf0c-d91192e40968
Inner error:
AdditionalData:
date: 2020-09-17T11:34:41
request-id: 8f232da6-2d74-4133-ba3d-7cc4b52dbc7b
client-request-id: ede4d02e-018b-4d3e-97a5-30c6fc0e2e95
---> Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: 8522
Message: Call not found.
Inner error:
AdditionalData:
date: 2020-09-17T11:34:41
request-id: 8f232da6-2d74-4133-ba3d-7cc4b52dbc7b
client-request-id: ede4d02e-018b-4d3e-97a5-30c6fc0e2e95
at Microsoft.Graph.Communications.Client.Transport.GraphAuthClient.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Client.Transport.GraphAuthClient.d__42.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Graph.Communications.Common.Transport.GraphHttpClient.<SendAsync>d__241.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Client.Transport.GraphClientWrapper.d__121.MoveNext()    --- End of inner exception stack trace ---    at Microsoft.Graph.Communications.Client.Transport.GraphClientWrapper.<ValidateAndWrapAsync>d__121.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Client.Transport.GraphClientWrapper.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.Communications.Calls.StatefulCall.d__25.MoveNext()<---

Also getting this one on our backup bot, were you able to solve it?

Hi @MaslinuPoimal, No I was not able to solve it.


Flutter Engine should report Dart SDK ver 2.5.0

Created https://dart-review.googlesource.com/c/sdk/+/113187 to address this.


Create email address whitelist for Cody QA purposes

We currently require a 14 day age limit for Google SSO signups for someone to create a Cody account. This hinders our ability to QA with fresh email addresses, so we want to create a whitelist of email addresses that Sourcegraph employees create to enable us to QA Cody.
Emails and pws here: https://docs.google.com/spreadsheets/d/1V1t-AaR2f-BfX8dVM6xPrX789XF48etGmLHaP3Q9-T0/edit#gid=344236988

@danielmarquespt @vdavid @thenamankumar I created 2 email addresses here. I was limited to 2 before Google blocked me for using the same phone number twice in a short span of time.
If I could get some help from y'all creating 2 more per person each, then that would give us 8 email addresses to work off of for testing. Please put the email and pw's in the above spreadsheet.

This should be done now. @chenkc805, please confirm and close if we covered everything

Let's close when this is actually deployed and we can start QA'ing

It is deployed: https://github.com/sourcegraph/sourcegraph/pull/58792
So closing this


Newlines not respected inside of binding vectors

If you use {:style :respect-nl}, newlines are respected (that is, they are not removed) everywhere except in binding vectors.  Thus:
$ (czprint "(let [a\nb\nc d] e)" {:parse-string? true :style :respect-nl})
(let [a b
      c d]
  e)

; which is not correct.  It should do this:

$ (czprint "(let [a\nb\nc d] e)" {:parse-string? true :style :respect-nl})
(let [a
        b
      c d]
  e)

Fixed in 0.5.3.


Form not working with nested resource

With a simple has_one nested resource, the form it's not working.
For example :
class User < ApplicationRecord
  has_one :user_profile, dependent: :destroy
end

class UserProfile < ApplicationRecord
  belongs_to :user
  has_one_attached :avatar
end

Trestle.resource(:users) do
  active_storage_fields do
    [:avatar]
  end
  form do |user|
    fields_for :user_profile do
      active_storage_field :avatar
    end
  end
end

With no avatar attached, when trying to upload a avatar i get a 404 :
ActiveRecord::RecordNotFound (Couldn't find UserProfile with ID=8f3d1edf-1029-4464-8cc1-470d3de2d6af for User with ID=):

activerecord (5.2.0) lib/active_record/nested_attributes.rb:596:in `raise_nested_attributes_record_not_found!'
activerecord (5.2.0) lib/active_record/nested_attributes.rb:420:in `assign_nested_attributes_for_one_to_one_association'
activerecord (5.2.0) lib/active_record/nested_attributes.rb:373:in `user_profile_attributes='
activemodel (5.2.0) lib/active_model/attribute_assignment.rb:51:in `public_send'
activemodel (5.2.0) lib/active_model/attribute_assignment.rb:51:in `_assign_attribute'
activerecord (5.2.0) lib/active_record/attribute_assignment.rb:31:in `block in assign_nested_parameter_attributes'
activerecord (5.2.0) lib/active_record/attribute_assignment.rb:31:in `each'
activerecord (5.2.0) lib/active_record/attribute_assignment.rb:31:in `assign_nested_parameter_attributes'
activerecord (5.2.0) lib/active_record/attribute_assignment.rb:25:in `_assign_attributes'
activemodel (5.2.0) lib/active_model/attribute_assignment.rb:35:in `assign_attributes'
activerecord (5.2.0) lib/active_record/core.rb:314:in `initialize'
activerecord (5.2.0) lib/active_record/inheritance.rb:66:in `new'
activerecord (5.2.0) lib/active_record/inheritance.rb:66:in `new'
trestle (0.8.9) lib/trestle/adapters/active_record_adapter.rb:13:in `build_instance'
trestle (0.8.9) lib/trestle/resource.rb:36:in `public_send'
trestle (0.8.9) lib/trestle/resource.rb:36:in `block in adapter_method'
trestle-active_storage (0.0.1.pre.12) lib/trestle/active_storage/controller_concern.rb:28:in `attach_attachments'
activesupport (5.2.0) lib/active_support/callbacks.rb:426:in `block in make_lambda'
activesupport (5.2.0) lib/active_support/callbacks.rb:179:in `block (2 levels) in halting_and_conditional'
actionpack (5.2.0) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (5.2.0) lib/active_support/callbacks.rb:180:in `block in halting_and_conditional'
activesupport (5.2.0) lib/active_support/callbacks.rb:513:in `block in invoke_before'
activesupport (5.2.0) lib/active_support/callbacks.rb:513:in `each'
activesupport (5.2.0) lib/active_support/callbacks.rb:513:in `invoke_before'
activesupport (5.2.0) lib/active_support/callbacks.rb:107:in `block in run_callbacks'
activesupport (5.2.0) lib/active_support/callbacks.rb:136:in `run_callbacks'
actionpack (5.2.0) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (5.2.0) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (5.2.0) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (5.2.0) lib/active_support/notifications.rb:168:in `block in instrument'
activesupport (5.2.0) lib/active_support/notifications/instrumenter.rb:23:in `instrument'
activesupport (5.2.0) lib/active_support/notifications.rb:168:in `instrument'
actionpack (5.2.0) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (5.2.0) lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
activerecord (5.2.0) lib/active_record/railties/controller_runtime.rb:24:in `process_action'
actionpack (5.2.0) lib/abstract_controller/base.rb:134:in `process'
actionview (5.2.0) lib/action_view/rendering.rb:32:in `process'
actionpack (5.2.0) lib/action_controller/metal.rb:191:in `dispatch'
actionpack (5.2.0) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (5.2.0) lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
actionpack (5.2.0) lib/action_dispatch/routing/route_set.rb:34:in `serve'
actionpack (5.2.0) lib/action_dispatch/journey/router.rb:52:in `block in serve'
actionpack (5.2.0) lib/action_dispatch/journey/router.rb:35:in `each'
actionpack (5.2.0) lib/action_dispatch/journey/router.rb:35:in `serve'
actionpack (5.2.0) lib/action_dispatch/routing/route_set.rb:840:in `call'
railties (5.2.0) lib/rails/engine.rb:524:in `call'
railties (5.2.0) lib/rails/railtie.rb:190:in `public_send'
railties (5.2.0) lib/rails/railtie.rb:190:in `method_missing'
actionpack (5.2.0) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack (5.2.0) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (5.2.0) lib/action_dispatch/journey/router.rb:52:in `block in serve'
actionpack (5.2.0) lib/action_dispatch/journey/router.rb:35:in `each'
actionpack (5.2.0) lib/action_dispatch/journey/router.rb:35:in `serve'
actionpack (5.2.0) lib/action_dispatch/routing/route_set.rb:840:in `call'
rack (2.0.5) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.0.5) lib/rack/etag.rb:25:in `call'
rack (2.0.5) lib/rack/conditional_get.rb:38:in `call'
rack (2.0.5) lib/rack/head.rb:12:in `call'
actionpack (5.2.0) lib/action_dispatch/http/content_security_policy.rb:18:in `call'
rack (2.0.5) lib/rack/session/abstract/id.rb:232:in `context'
rack (2.0.5) lib/rack/session/abstract/id.rb:226:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/cookies.rb:670:in `call'
activerecord (5.2.0) lib/active_record/migration.rb:559:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (5.2.0) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (5.2.0) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
railties (5.2.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (5.2.0) lib/rails/rack/logger.rb:26:in `block in call'
activesupport (5.2.0) lib/active_support/tagged_logging.rb:71:in `block in tagged'
activesupport (5.2.0) lib/active_support/tagged_logging.rb:28:in `tagged'
activesupport (5.2.0) lib/active_support/tagged_logging.rb:71:in `tagged'
railties (5.2.0) lib/rails/rack/logger.rb:26:in `call'
sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/request_id.rb:27:in `call'
rack (2.0.5) lib/rack/method_override.rb:22:in `call'
rack (2.0.5) lib/rack/runtime.rb:22:in `call'
activesupport (5.2.0) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/static.rb:127:in `call'
rack (2.0.5) lib/rack/sendfile.rb:111:in `call'
rack-cors (1.0.2) lib/rack/cors.rb:97:in `call'
rack-cors (1.0.2) lib/rack/cors.rb:97:in `call'
railties (5.2.0) lib/rails/engine.rb:524:in `call'
puma (3.11.4) lib/puma/configuration.rb:225:in `call'
puma (3.11.4) lib/puma/server.rb:632:in `handle_request'
puma (3.11.4) lib/puma/server.rb:446:in `process_client'
puma (3.11.4) lib/puma/server.rb:306:in `block in run'
puma (3.11.4) lib/puma/thread_pool.rb:120:in `block in spawn_thread'

And with a avatar already attached i get a error when building the form :
ActionView::Template::Error (undefined method `delete_avatar' for #<UserProfile:0x00007fcc0f954380>):
     9:       <% end %>
    10:     </div>
    11:
    12:     <%= builder.check_box("delete_#{field_name}", label: "Delete #{field_name}") %>
    13:   <% end %>
    14:
    15:   <div class="progress" style="display: none">

(Couldn't find UserProfile with ID=8f3d1edf-1029-4464-8cc1-470d3de2d6af for User with ID=)
I think it doesn't gem fault. Pls check your code at this block
form do |user|
    fields_for :user_profile do
      active_storage_field :avatar
    end
end

I think you should change it to
form do |user|
    fields_for user.user_profile do |profile|
      active_storage_field profile.avatar
    end
 end

Closing due to @staroflead's solution and inactivity. If this is still an issue feel free to comment.

This does not work because ControllerConcern.define_attachment_accessors does not create accessors and "delete_#{field}" methods for nested attachments.
I think there should be a way to define active_storage_fields as hash, in this case, something like this:
active_storage_fields do
  [:some_user_attachment, profile: [:avatar]]
end

And then the purge_attachments method would need to be aware of this.


Update tuture object to latest tuture.yml spec

The latest spec.
Example:
name: Name of this tutorial
language: en-US
version: 0.0.1
topics:
  - Topic A
  - Topic B
description: This is my first tutorial, come and read it!
maintainer<EMAIL_ADDRESS>steps:
  - name: Message of commit ae05546
    commit: ae05546
    explain:
      pre: Introduction placed at the top of this step
      post: Sumup placed at the bottom of this step
    diff:
      - file: Changed file A
        section:
          start: 1
          end: 10
        explain: Introduction before doing something to this part of A
      - file: Changed file A
        section:
          start: 11
          end: 20
        explain: Introduction before doing something to this part of A
      - file: Changed file B
        explain:
          pre: Introduction before doing something to B
          post: Explanation after doing something to B
  - name: Message of commit ae05546
    commit: a45bec1
    explain:
      pre: Introduction placed at the top of this step
      post: Sumup placed at the bottom of this step
    diff:
      - file: Changed file A
        explain:
          pre: Introduction before doing something to A
          post: Explanation after doing something to A
      - file: Changed file B
        explain: Introduction before doing something to B
      - file: Changed file C
        explain:
          pre: Introduction before doing something to C
          post: Explanation after doing something to C

@pftom I will take on this if you haven't done it.

@mRcfps I'm not working on this, if you are doing it, please going on!

@mRcfps Actually, I'm planning work on this. But you are ahead of me one step. 😅


Create Modal HTML

User Story: After clicking artworks I want to display further information about that artwork in a modal.
Design:


Switch to eclipse-jdt for formatting code

The use of prettier for formatting requires nodejs to be installation. Switching to eclipse-jdt will remove this requirement.

We will use googleJavaFormat() instead, it produces better formatting (to my taste).


BCC with substitution

Adding a BCC to an email that uses substitution doesn't do the substitution for the BCCed person.

Hello @Petah,
Thanks for reaching out to us!
Could you please provide the following:

A code snippet of the code in question
Please specify if you are using the current library or v3

Thanks!
With Best Regards,
Elmer

I have the same problem.
Using current library.
<?php
$email = new Email();

<EMAIL_ADDRESS><EMAIL_ADDRESS>            ->setHtml("*|HTML|*")
            ->setSubject($subject)
           ->addSubstitution('*|HTML|*', "<p> Teste </p>");

(new SendGrid('api_key'))->send($email);

The substituion works for the recipient, but not for the bcc.

Hello @Petah, @danjesus,
Within weeks, this library will be replaced with the v3 version: https://github.com/sendgrid/sendgrid-php/tree/v3beta
I don't think I'll be able to troubleshoot this issue on v2 before then, so I would suggest you migrate to v3, if possible, since we will no longer supporting the v2 library.
The v3beta of this library is based on our new v3 /mail/send endpoint: https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html. Hopefully, it solves this issue. If not, I will dig deeper.
With Best Regards,
Elmer

Thanks @thinkingserious, I`ll try v3.

Is this still a known issue? because I'm experiencing the same issues.  with Nuget SendGrid 9.0.12

Hello @xanmichaels,
Would you mind creating a new issue along with the sample code?
Thanks!
Elmer


Test with Redis Sentinel

What would you like to be added:
Run adequate test with Redis Sentinel to verify Redis high availability is working.
Why is this needed:
Redis Sentinel is the official high availability solution for Redis. It can automatic failover when Redis master is not working.
Depends on #169

Test JuiceFS with Redis Sentinel
Here we test the automatic failover process of Redis Sentinel and whether JuiceFS can automatically switch to the new master as expected.
We use ASCII art in order to show the configuration in a graphical format, we use the same symbols as described here .
       +----+
       | M1 |
       | S1 |  Box1(<IP_ADDRESS>)
       +----+
          |
+----+    |    +----+
| R2 |----+----|JFS |
| S2 |         | S3 |
+----+         +----+
 Box2           Box3
(<IP_ADDRESS>)  (<IP_ADDRESS>)
Configuration: quorum = 2

We use the above 3 boxes deployment: 2 redis instances M1 (master) and R2 (replica), 3 sentinel instances S1, S2 , S3 .  The JFS means the JuiceFS process which act as a redis client in this test.
Mount JuiceFS using redis sentinel URL on Box3 :
# REDIS_PASSWORD={{REDIS_PASSWORD}} ./juicefs mount -d \
redis://mymaster,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>:26379/1 /jfs

Run juicefs bench on Box3 :
# juicefs bench --big-file-size=1 --small-file-count=10000

Here we increse --small-file-count to 10000 to ensure the benchmark not exit too quickly, and continuously access Redis (write small file).
Then we stop redis instance on Box1 (M1) , then the juicefs bench is hang as the it cannot finishing writing the metadata, here we show the JuiceFS log (/var/log/syslog)
Apr 29 08:55:18 box3 juicefs[2387]: juicefs[2387] <ERROR>: error: redis: Conn is in a bad state: EOF
Apr 29 08:55:18 box3 juicefs[2387]: juicefs[2387] <WARNING>: write inode:9659 error: input/output error
Apr 29 08:55:18 box3 juicefs[2387]: juicefs[2387] <ERROR>: write inode:9659 indx:0  input/output error
Apr 29 08:56:30 box3 juicefs[2387]: juicefs[2387] <INFO>: slow operation: getattr (9489): OK (9489,[drwxr-xr-x:0040755,2,0,0,1619686508,1619686517,1619686517,4096]) <72.112070>

and show the S2 log ( /var/log/redis/redis-sentinel.log ):
1884:X 29 Apr 08:55:47.848 # +sdown master mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:47.906 # +odown master mymaster <IP_ADDRESS> 6379 #quorum 2/2
1884:X 29 Apr 08:55:47.906 # +new-epoch 10
1884:X 29 Apr 08:55:47.906 # +try-failover master mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:47.909 # +vote-for-leader a2cc7f64dca16cf0f3724c49b90d92ed7fa4cf85 10
1884:X 29 Apr 08:55:47.915 # 91956b594fe1417de6b9ce3dfde9e8ef757cc935 voted for a2cc7f64dca16cf0f3724c49b90d92ed7fa4cf85 10
1884:X 29 Apr 08:55:47.916 # 08e969b58de967234dd7f54e886b1f870f2e1400 voted for a2cc7f64dca16cf0f3724c49b90d92ed7fa4cf85 10
1884:X 29 Apr 08:55:47.992 # +elected-leader master mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:47.992 # +failover-state-select-slave master mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.082 # +selected-slave slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.082 * +failover-state-send-slaveof-noone slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.172 * +failover-state-wait-promotion slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.858 # +promoted-slave slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.858 # +failover-state-reconf-slaves master mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.910 # +failover-end master mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.910 # +switch-master mymaster <IP_ADDRESS> 6379 <IP_ADDRESS> 6379
1884:X 29 Apr 08:55:48.910 * +slave slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 08:56:18.956 # +sdown slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379

The redis replica ( R2 ) become master, and JuiceFS become normal, the juicefs bench continue.
Then we start the stopped redis instance on Box1 , the S2 log shows:
1884:X 29 Apr 09:51:40.512 # -sdown slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379
1884:X 29 Apr 09:51:50.446 * +convert-to-slave slave <IP_ADDRESS>:6379 <IP_ADDRESS> 6379 @ mymaster <IP_ADDRESS> 6379

The redis instance in Box1 now is slave and sync data from new master (Box2 ), the redis log (/var/log/redis/redis-server.log ) on Box1 :
4683:M 29 Apr 09:51:40.120 * DB loaded from disk: 0.001 seconds
4683:M 29 Apr 09:51:40.120 * Ready to accept connections
4683:S 29 Apr 09:51:50.421 * Before turning into a slave, using my master parameters to synthesize a cached master: I ma
y be able to synchronize with the new master with just a partial transfer.
4683:S 29 Apr 09:51:50.421 * SLAVE OF <IP_ADDRESS>:6379 enabled (user request from 'id=3 addr=<IP_ADDRESS>:42040 fd=7 name
=sentinel-a2cc7f64-cmd age=10 idle=0 flags=x db=0 sub=0 psub=0 multi=3 qbuf=0 qbuf-free=32768 obl=36 oll=0 omem=0 events
=r cmd=exec')
4683:S 29 Apr 09:51:50.422 # CONFIG REWRITE executed with success.
4683:S 29 Apr 09:51:51.145 * Connecting to MASTER <IP_ADDRESS>:6379
4683:S 29 Apr 09:51:51.145 * MASTER <-> SLAVE sync started
4683:S 29 Apr 09:51:51.146 * Non blocking connect for SYNC fired the event.
4683:S 29 Apr 09:51:51.146 * Master replied to PING, replication can continue...
4683:S 29 Apr 09:51:51.147 * Trying a partial resynchronization (request 3276ec3cc8172fe9dcf3ef520345de3846c4c188:1).
4683:S 29 Apr 09:51:51.147 * Full resync from master: 0ff1c4d8380e4fef0923cfdabc17b63962a1fa3b:22991034
4683:S 29 Apr 09:51:51.147 * Discarding previously cached master state.
4683:S 29 Apr 09:51:51.203 * MASTER <-> SLAVE sync: receiving 2882 bytes from master
4683:S 29 Apr 09:51:51.203 * MASTER <-> SLAVE sync: Flushing old data
4683:S 29 Apr 09:51:51.203 * MASTER <-> SLAVE sync: Loading DB in memory
4683:S 29 Apr 09:51:51.203 * MASTER <-> SLAVE sync: Finished with success

In above test, JuiceFS can switch and connect to the new redis master when the redis sentinel failover finish. During the failover, the redis master is unavailable, JuiceFS would fail to access redis and return input/output error .
JuiceFS works as expected when using Redis Sentinel.
For more details about redis sentinel, please read the official documentation .


Escape translation function calls and add textdomain

There are a number of instances of functions such as __() in the codebase that need to be escaped with their escaped equivalent such as esc_html__ to protect against HTML inserted as part of the translation process.
Furthermore, there doesn't appear to be a textdomain in use for these strings, so we should add this.

Closing in favour of #73


Rename repo

'coz Docker says so
While I seriously doubt Docker would ever come after this little repo, I do want to comply with their licensing.

Do it!

Do it! :)

Docker specifically says not to use "docker" as the first word in a repo. Issue resolved.


Constant "cannot add item to database" and high CPU Usage

Hello everyone,
I am somehow having a Problem with the Add-on, but am not sure what might be the cause of this issue.

Consume Directory is empty :(
Do you have any hint on how I can find out, which document is causing trouble?

Someone had a similar issue https://github.com/paperless-ngx/paperless-ngx/issues/2953 but it wasn't explained.
No one else is reporting this issue with my addon thus you may try to just backup and reinstall the addon completly

Hm, suspicious.
I even reinstalled the Add-on and started from fresh, error is right there back again (even without a single document) 😅

HA-Hardware Reboot fixed it. In case someone stumbles upon this:

Delete all paperless folders under /share and /addon_configs
Reboot Home Assistant Host
Reinstall and start fresh. Do NOT reimport your Backup, just add the documents again and do backups more frequently 🙈

Closing


Add a readAll function, and add an optional argument to the other rea…

Change in Behaviour.  The function readLinearizedTempC will return nan when readTempC returns nan. Previously, the the function had returned 0 in this condition, which is misleading because it looks like a wrong temperature was read from the hardware instead of there being trouble reading from the hardware.

Added function.  The new function readAll returns a dictionary of temp, internal, state and (optionally) linearized, using the output from the functions readTempC, readInternalC, readState, and readLinearizedTempC.

Backwards compatible changes.  The various read... functions have an optional argument v, which is None by default but could be the value read from _read32. If nothing is passed, each function will read data from the serial bus itself. This allows the new readAll function to call _read32 only once, and pass that value on to the other functions.

Nice idea!
Couple of suggestions: Instead of the optional parameter, extract the raw->something code into new (static) functions. That way you have no changes in the interface at all, and you don't have functions with two different 'modes'.
Also, you are still reading from the sensor one additional time in readInternalC, even if you passed in v, which is probably not as intended (for coldJunctionTemperature). In fact, you probably want to do the raw->internalC conversion only once there.

hiya this library is being deprecated, and replaced with our shiny new circuitpython library, which has this function ported over
we are archiving this repo
please check out https://github.com/adafruit/Adafruit_CircuitPython_MAX31855/
and if it is still amiss please open an issue in that repo!


Warning from find command when use nvm run with .nvmrc

If current directory have .nvmrc and you call nvm run <full_path_to_script>, nvm write to sdout: find: warning: Unix filenames usually don't contain slashes (though pathnames do).......
How check:
    mkdir /tmp/find_warn
    cd /tmp/find_warn
    echo stable > .nvmrc
    echo 'console.log("hi")' > hi.js
    nvm run /tmp/find_warn/hi.js

It print to stderr
    find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `/tmp/find_warn/hi.js.*'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `/tmp/find_warn/hi.js.*''.

If you call relative path nvm run hi.js all good.
but if script name start with digits (nvm run 123.js), nvm write N/A: version "v123.js" is not yet installed and exit.
May be add for nvm use and nvm run argument -- for separate node version and user command? Or special argument --use-node-version-from-nvmrc and not use heuristics for detect node version?
nvm debug:
    $SHELL: /bin/bash
    $NVM_DIR: '$HOME/.nvm'
    $PREFIX: ''
    $NPM_CONFIG_PREFIX: ''
    nvm current: v4.2.0
    which node: $NVM_DIR/versions/node/v4.2.0/bin/node
    which iojs:
    which npm: $NVM_DIR/versions/node/v4.2.0/bin/npm
    npm config get prefix: $NVM_DIR/versions/node/v4.2.0
    npm root -g: $NVM_DIR/versions/node/v4.2.0/lib/node_modules

Distributive: Debian GNU/Linux 8.2 (jessie)
find --version: find (GNU findutils) 4.4.2
bash --version:
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)

What's nvm debug say? What OS and shell are you using?

I update description

Thanks for the report! I'll look into it.

+1

@mjhasbach can you also provide your nvm debug output, as well as echo $NVM_DIR if it's not already there?

nvm debug
$SHELL: /bin/bash
$NVM_DIR: '$HOME/.nvm'
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
nvm current: v4.2.1
which node: $NVM_DIR/versions/node/v4.2.1/bin/node
which iojs:
which npm: $NVM_DIR/versions/node/v4.2.1/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v4.2.1
npm root -g: $NVM_DIR/versions/node/v4.2.1/lib/node_modules

/www/test/test.js
console.log('pong');

nvm run /www/test/test.js
find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `/www/test/test.js.*'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `/www/test/test.js.*''.
No .nvmrc file found
Running node v4.2.1 (npm v2.14.7)
pong

@dr15x86 @mjhasbach would you each mind updating to the latest nvm, and see if this problem still occurs?

I get latest version nvm from master (commit e1fdd316b71387ce01579d6595cc262e35f01a9c)
This warning I repeated as it is written in the first message.
dima@dbigbox:/tmp/find_warn$ nvm run /tmp/find_warn/hi.js
find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `/tmp/find_warn/hi.js.*'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `/tmp/find_warn/hi.js.*''.
Found '/tmp/find_warn/.nvmrc' with version <stable>
Running node v6.2.2 (npm v3.9.5)
hi

My system:
Debian GNU/Linux 8.5 (jessie)

npm debug:
nvm --version: v0.31.2
$SHELL: /bin/bash
$HOME: /home/dima
$NVM_DIR: '/tmp/nvm'
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
nvm current: v6.2.2
which node: $NVM_DIR/versions/node/v6.2.2/bin/node
which iojs:
which npm: $NVM_DIR/versions/node/v6.2.2/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v6.2.2
npm root -g: $NVM_DIR/versions/node/v6.2.2/lib/node_modules

bash --version:
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)

find --version
find (GNU findutils) 4.4.2

Thanks! I'll keep taking a look at this.

I get a similar error with nvm ls
myhost:/opt/ci/nvm $ nvm ls
->     v0.12.15
default -> 0.12.15 (-> v0.12.15)
node -> stable (-> v0.12.15) (default)
stable -> 0.12 (-> v0.12.15) (default)
iojs -> N/A (default)
find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `lts/argon.*'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `lts/argon.*''.
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.4.7 (-> N/A)

myhost:/opt/ci/nvm $ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)

myhost:/opt/ci/nvm $ bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

myhost:/opt/ci/nvm $ find --version
find (GNU findutils) 4.4.2

@dr15x86 Could you file a separate issue for the part about the filename starting with numbers?

@ljharb Ok. Tomorrow I recheck bug with numbers and create new issue.


[BACK-42] Fetching LinkedIn Company Data

a. This issue was about getting company infos from linkedIn
b. I used an API service from https://www.scraping-bot.io/; API Key can be found in Notion
c. no extra notes

@jonassuess converting back to draft, this PR title/description is malformed according to the Guidelines


Any plan to support aerojs?

Hi there,
Just want to know if there is any plan to support aerojs https://github.com/aerojs/aero
Thanks

@darting no plans that I know of. We're always more than happy accepting PRs that add a package for your node server framework of choice though :wink:


Pic 1163 - Track operation Id across SQS

This is code complete but the corresponding implementation at the receiving end isn't yet so probably best to hold off merging until that has been successfully tested locally


idem query

ticket
Added idempotency query param to relevant endpoints. Deleted them from resources that don't have idempotency header/query in docs.lob.com (bank accounts, certificates, and templates).

@jho44
One small fix needed. It looks like the idempotent header/query on the Address. This should be removed. Everything else looks good.
According to doc.lob.com
Lob supports idempotency for safely retrying POST requests to create postcards, self mailers, letters, and checks without accidentally creating duplicates.

Good catch!


fix: safely completing doClose()

Ensure that doClose() completes and successfully transitions the StreamProcessor to CLOSED state. Unhandled exception during doClose() results in a degraded StreamProcessor with terminated control loop but stuck in RUNNING state.
This is critical to support accurate external monitoring of isClosedOrFailed() by user code.
see https://github.com/confluentinc/parallel-consumer/issues/809
Checklist

[ ] Documentation (if applicable)
[ ] Changelog

/sem-approve


References

3 SAT and independent set: https://www.cs.umd.edu/class/fall2017/cmsc451-0101/Lects/lect20-np-3sat.pdf
QUBO problems[^Glover2019] (GitHub link)
Independent set problem on KSG and independent set[^Nguyen2023] (GitHub link).

[^Glover2019]: Glover, F., Kochenberger, G., Du, Y., 2019. A Tutorial on Formulating and Using QUBO Models.
[^Nguyen2023]: Nguyen, M.-T., Liu, J.-G., Wurtz, J., Lukin, M.D., Wang, S.-T., Pichler, H., 2023. Quantum Optimization with Arbitrary Connectivity Using Rydberg Atom Arrays. PRX Quantum 4, 010316. https://doi.org/10.1103/PRXQuantum.4.010316

C. Moore, S. Mertens, "The Nature of Computation", Oxford University Press, 2011.
Reduction (Related to Our Problems of Interests)

Witness Existence <= Circuit SAT <= 3-SAT <= NAE-4-SAT <= NAE-3-SAT <= Graph-3-Coloring <= Graph k-Coloring (k>=3) <= Planar Graph 3-Coloring <= Independent Set;
3-SAT <= NAE-4-SAT <= NAE-3-SAT <= Max Cut

Problems of Interests Involved:

(Maximal) Independent Set;
Max-Cut;
Graph Coloring;
Satifiability problem


Question: png images have black background

Hello experts,
I believe this should be called "Question", not a "Bug"
I have a xamarin.forms project picking images from gallery. However the image that I picked loses transparency.
May I get support about what is wrong in my code or how I can debug this?

Image img = new Image { Source = "URL of a png image" , Margin = 30 }; shows the expected result.

Picking from gallery sets the background color to black.

var mediaOptions = new PickMediaOptions() { PhotoSize = PhotoSize.Medium };
var selectedImageFile = await CrossMedia.Current.PickPhotoAsync(mediaOptions);
source = ImageSource.FromStream(() => {
    var stream = selectedImageFile.GetStream();
    selectedImageFile.Dispose();
    return stream;
});

and
Image img = new Image { Source = source, Margin = 30 };
The file in my disk space has a name ends with .png. selectedImageFile.Path returns a path ends with .png
I have converted the stream to bytearray and converted the byte array back to image in an external tool, it has a black background.
Thank you

Edit:
Testing on android emulator

I checked with another file picker project. I got transparent background with the same file.


Correct Procedure to Connect Bot made using Composer to Direct Line Speech

<Direct Line speech doesn't work even after following the procedure and getting this error - "Error (ConnectionFailure) : Connection was closed by the remote host. Error code: 1002. Error details: The server returned status code '404' when status code '101' was expected. SessionId: b06c1f2967ed4f4ab1cc3e4d5c003792" in the Windows Voice Assistant Client after connecting the Speech resource and filling the keys and region>
Version
<>
Browser

[ ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[*] Edge

OS

[ ] macOS
[*] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create bot using Composer
Publish it to Azure
Add the Speech resource
Goto Windows Voice Assistant Client
enter the key and region
See the error

Expected behavior
After entering the key and region in Windows Voice Assistant Client the bot should be listening and responding to speech.
Screenshots

Additional context
It is not clearly mentioned anywhere on how to connect a bot created using the composer to the direct line speech.
I request you to please provide a detailed procedure on how we can enable a bot created in Composer to take in speech, understand it using LUIS capability, then respond using speech i.e direct line speech.

Hi @stevkan
I have correctly followed the steps mentioned in the documentation, but still facing issue..

Created a bot using Bot Composer
Added LUIS keys and Region to it
Published the bot to Azure
Enabled the Speech option for the bot in composer and selected the Speech Service in Azure portal
Entered the speech key and region in Windows Voice Assistant Client
Getting error

Any help on this would be really appreciated.
Thanks

@cvarun94 - Can you link the docs you are referring?

@stevkan here is the doc - https://github.com/microsoft/BotFramework-Composer/blob/main/docs/preview features/speech.md

@cvarun94 - Thank you for your patience. I'll take a look at the docs and attempt a repro based off of their direction. I will let you know what I find.

I'll take a look at the docs and attempt a repro based off of their direction. I will let you know what I find.

thanks @stevkan !
Let me know what you find and also if you require any further clarifications.

@cvarun94 - Thank you for your patience. I was able to successfully test DirectLine Speech in several different scenarios testing from the Windows Voice Assistant Client.
First, I double checked setup for a regular C# SDK bot, ran in VS, and tested it. I then compared that to my Composer bot which I had opened and ran from Visual Studio. Based off that comparison, here are some things I noticed could be sticking points. I would recommend double/triple checking these for accuracy. If you can open your Composer bot in VS / VS Code, that would be ideal.

Verify the subscription Id and region for your CS Speech resource in Azure is what you have supplied in the Windows Voice Assistant Client profile you are using. Don't use quotes, etc. (per this doc)

Verify you have added "Speech" components to your bot responses (per this doc). For the actual text to be spoken, you don't have to use SSML markup. A simple phrase will suffice. Also, be sure to set the Input hint to "Expecting" if you want the bot to wait for a verbal response.

Under the Configure blade for your bot in Composer, with Advanced Settings View enabled, verify the runtimeSettings.setSpeak property is present and correctly populated. In mine, I have the voiceFontName set to "de-DE-KatjaNeural" for fun (per this doc)

  "runtimeSettings": {
    "adapters": [],
    "features": {
      "removeRecipientMentions": false,
      "showTyping": false,
      "traceTranscript": false,
      "useInspection": false,
      "setSpeak": {
        "voiceFontName": "de-DE-KatjaNeural",
        "fallbackToTextForSpeechIfEmpty": true
      }
    },

In Vs, in BotController.cs, verify that both [HttpPost] and [HttpGet] are present on the PostAsync() method (per this doc)

In VS, in Startup.cs, verify you have these configurations set to something like the below. In particular, the app.UseWebSockets(); is present (per the same doc, above)

app.UseDefaultFiles();

// Set up custom content types - associating file extension to MIME type.
var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".lu"] = "application/vnd.microsoft.lu";
provider.Mappings[".qna"] = "application/vnd.microsoft.qna";

// Expose static files in manifests folder for skill scenarios.
app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = provider
});
app.UseWebSockets();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
});

In Azure, verify that DirectLine Streaming is enabled in your bot's configuration

In Azure, verify that your bot's app service configuration, under General settings, has both "Web sockets" and "Always on" enabled

With some trial and error and after verifying all of these items for myself, I was able to get the DirectLine Speech to work via the Windows Voice Assistant Client. As I was testing locally, I used ngrok for tunneling to my Azure bot resource. If you do the same, double check that you have ngrok listening to the correct port and that the messaging endpoint reflects the ngrok address correctly.
Try these things and let me know how it goes.

Closing due to inactivity.


Suggestion : Validate should check for Docker on Node

Obviously this isn't a huge issue, but since there is a validate command to check the nodes for a smooth upgrade, you might want to add a check for the installation of Docker on the nodes.  I forgot I had docker on my one image and I cloned it out to 13 machines for a new lab at home, validate was clean - so I kicked off an apply and it bombed at the Docker check since it was installed on the nodes.  Easy enough to remove it with an ssh command, but still - an add on into validate might help newer people?
Just a thought... and great work as always....

@robotica72 Can you share a bit more about how it bombed with Docker? Thanks!

Hey - sorry meant to add to my statement that day but got sidetracked - It bombs out installing docker due to docker conflicting with container-selinux-2.12-2.gite7096ce.el7.noarch - But the validate passed this section without any issues.  (I should have known better, I just forgot about my base template and what was in it).   So overall, just a suggestion for anyone who may be newer/etc ...
But excellent installer overall - best I have seen for K8s.

Closed in #875

Commented out the checks until there is a mechanism to have docker preinstalled on the node by the user.


tensorflow.python.eager.core._FallbackException: This function does not handle the case of the path where all inputs are not already EagerTensors.

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Custom code

Ubuntu 18

TensorFlow installed from source:

TensorFlow version :2.0

Python version: 3.6

CUDA/cuDNN version:10.0/

GPU model and memory: 1080Ti/11Go

Contrary to the docs, tf.print do not handle printing tensors in a session run (for example when building a keras model with the model API)
https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/print
Describe the expected behavior
I expect the example shown in the docs to run smoothly
Code to reproduce the issue
import os
import tensorflow as tf
from tensorflow.keras.layers import BatchNormalization
import numpy as np
input = np.random.uniform(size=(6, 40, 40, 1)).astype(np.float32)

ds = tf.data.Dataset.from_tensor_slices(input).batch(2)

iterator = iter(ds)
inp = tf.keras.Input((None, None, 1))
print_op = tf.print(inp)
with tf.control_dependencies([print_op]):
    out = tf.keras.layers.Conv2D(5, 3)(inp)
model = tf.keras.Model(inputs=inp, outputs=out)
model(next(iterator))

Which raises:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/gen_string_ops.py", line 807, in string_format
    summarize)
tensorflow.python.eager.core._FallbackException: This function does not handle the case of the path where all inputs are not already EagerTensors.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "log_test.py", line 13, in <module>
    print_op = tf.print(inp)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/logging_ops.py", line 339, in print_v2
    name=format_name)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/string_ops.py", line 192, in string_format
    name=name)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/gen_string_ops.py", line 813, in string_format
    summarize=summarize, name=name, ctx=_ctx)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/gen_string_ops.py", line 867, in string_format_eager_fallback
    _attr_T, inputs = _execute.convert_to_mixed_eager_tensors(inputs, _ctx)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/execute.py", line 210, in convert_to_mixed_eager_tensors
    types = [t._datatype_enum() for t in v]  # pylint: disable=protected-access
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/execute.py", line 210, in <listcomp>
    types = [t._datatype_enum() for t in v]  # pylint: disable=protected-access
AttributeError: 'Tensor' object has no attribute '_datatype_enum'

Thanks for finding the issue. I could reproduce the issue with TF2.0.

Any updates on this?

Any solution here?

Any solution here?

I am getting the same error when mixing an LSTM with some additional preprocessing formulas (that have their own parameters to be fitted)

Any updates?

I´m having this issue as well. Could someone help with why is happening? Thanks.

I'm having the same issue while converting code from Pytorch to tensorflow2.0, did anyone find a solution?

I have the same issue when I updated TensorFlow version 1.13 to 1.14.

I had this issue with Tensorflow 2.0.0. Downgrading to 1.13.2 resolved the issue, which for me was an acceptable solution.

I´m having this issue as well

Is there any update on this issue with Tensorflow v2.0?

Any update with TF2.0 ?

Same issue here

Same issue on version 2

I am still getting this error and I am not using control_dependencies

I am still getting this error also. Tensorflow 2.1.0

Same error here: Tensorflow 2.2.0

Found an easy solution for this problem in Tensorfolw v 2.xx.xx:
import tensorflow.compat.v1 as tf
tf.disable_eager_execution()

Had the same problem when using a generator. Turns out that on_epoch_end and on_epoch_begins where not called. I added
LambdaCallback(on_epoch_end=train_gen.on_epoch_end,on_epoch_begin=train_gen.on_epoch_begin) to callbacks and this solved the issue.


bucket: improve shard label handling

[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end user.

Changes

Allow bucket web UI to continue labeling old blocks, even if they don't match up with current labeling conventions.

This allows someone to edit their external labels, and still see all their data inside the bucket web component. Currently, the bucket web component will just throw an error (in bucket.js) since some of the data is unlabeled (assuming that you pass --label).
The bucket component already handles shards with and without labels, this change simply allows you to mix the two. Any unlabeled shards will be assigned a number, exactly how the component behaves when no --label is passed. After the unlabeled shards are listed, any labeled shards will be listed.
Verification
Tested with bucket containing some data with no external labels.

It is merged with newer data containing external labels.

Sorry for lag in review ):


Add cyw920829 support in Bluetooth tester

Add cyw920829 support in Bluetooth tester

Enable hw-flow-control for uart2

Added p3_0_scb2_uart_cts, p3_1_scb2_uart_rts in **-pinctrl.dtsi

Added overlays for cyw920829m2evk_02 board

Update ccc_find_by_attr: added check if ccc_values[i].attr != NULL,
before accessing to ccc_values[i].attr structure (handle == ccc_values[i].attr->handle)
On 20829 platform it's causing hard fault, not sure about another platforms (in GAP testing).

Signed-off-by: Nazar Palamar<EMAIL_ADDRESS>

@npal-cy please note failures in weekly CI job:  https://github.com/zephyrproject-rtos/zephyr/runs/27135033228

@npal-cy please note failures in weekly CI job: https://github.com/zephyrproject-rtos/zephyr/runs/27135033228

working on PR to address it.


Is there retries/backoff support?

Super cool project. We were wondering if there was retries/backoff support? Our API returns a retry-after response header if the rate limit is met. It'd be nice if the python client could read that in and hold off on making more requests until the rate limit can handle more requests.

Yep! By default our client uses this retry policy, the documentation should include the default backoff etc values that we use. If you'd like to modify any of these values, you can pass them as keywords to your client initialization, i.e.
from azure.my.service import ServiceClient

client = ServiceClient("http://myendpoint.com", MyCredential(), retry_total=3)

Or, if you'd like to completely use your own retry policy, you can pass it in like this:
from azure.my.service import ServiceClient

client = ServiceClient("http://myendpoint.com", MyCredential(), retry_policy=MyRetryPolicy())

Omg amazing! Just tried it out and can confirm our retry-after header was interpreted and the retries occurred 👍 thanks!


Question: Why does ToolbarView use IMGui and not UIElements?

As per the title, that feels a bit inconsistent. Plus, it makes it harder to add actually useful UIElements stuff to it (e.g. search bars).
Workaround is of course to just use a different toolbar implementation, just wondering why it was done this way.

There is no real reason behind this, it was few years ago when I started this project I couldn't get the UIElement toolbar to work no matter what I tried so I decided to implement the ImGUI version waiting for a fix.
It stayed like this until today 😅

feature improvement tracked here: https://github.com/alelievr/NodeGraphProcessor/projects/2#card-33750520


GitHub actions: Speedup improvements

@VHlushchen take a look at the CFN template change, you missed the issues which were found by linter


Use java.lang.reflect.Array.* for primitive array "generic" operations

Hi,
I have "solved" bounty found in source code. It is less verbose solution but it uses java.lang.reflect.Array#set method. I know that this is not the best solution (I am aware of reflection and some performance penalty of native methods) but it could be good enough ... so if you like it, merge it, or abandon it :)
Ivos

Hi Ivos,
That's fantastic! You deserve a bounty :smile:

Random Beans uses reflection anyway, so no problem with Array#set.
Thank you for this improvement.
Best regards
Mahmoud

Thx ... the Bounty was delicious :)


ModuleNotFoundError: No module named '_hub'

When I run the command : imagine "a scenic landscape"
then there is an error message like this : ModuleNotFoundError: No module named '_hub'
please let me know how to fix this issue

A quick but temporary solution is to fix the import locally. In my case, the file /usr/local/lib/python3.10/dist-packages/timm/models/hub.py had the import statement from _hub import * which I changed to from ._hub import *. After that, it worked fine.

This was a bug in timm. . They haven't released the fix yet. Meanwhile I've updated imaginairy's dependencies to exclude the broken versions.
Fixed in just released 12.0.3


Explanation on Archive class decode method

Hello,
I need some explanations on the public static Archive decode(ByteBuffer buffer) method in the src/main/org.apollo.cache/archive/Archive.java class. In this part of the code :
	public static Archive decode(ByteBuffer buffer) throws IOException {
		int extractedSize = BufferUtil.readUnsignedMedium(buffer);
		int size = BufferUtil.readUnsignedMedium(buffer);
		boolean extracted = false;

		if (size != extractedSize) {
			byte[] compressed = new byte[size];
			byte[] decompressed = new byte[extractedSize];
			buffer.get(compressed);
			CompressionUtil.debzip2(compressed, decompressed);
			buffer = ByteBuffer.wrap(decompressed);
			extracted = true;
		}
    ...
    ...
    }

I don't get why you have to check if (size != extractedSize) because you call the same method readUnsignedMedium on the same buffer. Firstly, we thought that the buffer will be modified after the initialization of the extractedSize variable, but if not, there is no difference.
Can someone explain us why there is this condition here?
Thanks

The buffer is modified, you are correct.

Ryley is correct. Also, check out our irc channel, which is a better place to ask questions like this.


copyright failure since latest pull request

Since #901, the development branch doesn't build due to
Searching for Copyright notice:
TorXakis - Model Based Testing
Copyright (c) 2015-2017 TNO and Radboud University
See LICENSE at root directory of this repository.

./ci/mk-package/ubuntu/mk-package.sh
#Files = 419
#Violations = 1
Fail
Use /test/copyright/FixCopyrightNotices.bat to add missing copyright notices.

This issue has 2 parts:

[ ] How to solve the copyright issue?
Especially, since both #!/bin/bash and our copyright want to be at the first line.
[ ] Why was this not detected earlier? The pull request was accepted with all tests passing!

How to solve the copyright issue?

See my comment in #901  :)

See #901 for a solution of the first issue!

Also addressed in #923
Root cause why not detected earlier still unclear!


fix(scripts): correctly remove codegen for js and dart

🧭 What and Why
removeExistingCode was not targeting the correct folder for js and dart.

no problem !


feat(linter): support astro front matter --- block

closes #1702

Current dependencies on/for this PR:

main

PR #1893   👈

This stack of pull requests is managed by Graphite.


No autoforward after initiated update

Performing an update with /ota never reloads the page as stated ("...auto-forward...").
Request times out and page at /uploadota displays default browser message, e. g.

Firefox used.
Workaround: just manually reload the start page (not /uploadota!).
This never worked for me until now (latest update: 8.8 today).

I have also had this behaviour with Safari, but not always. Sometimes the forwarding works. I have not been able to detect a pattern.

For me just never worked so far. Always on Firefox. Seems like after a timeout a auto-refresh is not possible. Could be easily cross-tested with several browsers I guess.

I've increased the timeout for OTA so it's more likely to succeed (60 to 120 seconds). Why browsers don't like this I have no idea. It's done with javascript using setTimeout(), maybe browsers kill it if runs too long or something.

v8.15 when updating to v8.16 still times out - only by a few seconds in my case. Both update took something from 35 to 40 seconds, unfortunately still:

I'm aware of the issue, but not so sure what to do about it. It falls into a domain that's not my strong suit - I'd sure take a tip from a web developer if someone is around here.

Did an investigation. Here are my conclusions:

Once the OTA form is submitted, the page gets redirected to /uploadota, canceling the setTimeout as we are no longer on the page it was called at (/ota)
 /uploadota performs the ota but never gets a chance to return an HTTP response as the esp board gets rebooted, and that is why we get those messages shown above.
Current setTimeout code will only take place (if any) in case the upload took longer than 2 minutes, and I think it might hurt the upload process and cancel the ota (I'm not even sure it will even happen as the form submission actually changes the page)

To fix the issue we need to:

Remove the current setTimeout code in buildOtaHtml as it is not relevant
Make the request handler of /uploadota send a proper HTML page with a setTimeout for 10 seconds
Delay the esp restart in Ota::updateFirmware but in an async way (and not the sync way that it is now), so the code will have the chance to return the HTTP response to the client.

@technyon if you approve of what I said here, I will be more than happy to make a PR, I can make all these changes, besides the async delay which I will need some guidance with.

Tested with Chrome and Firefox and it worked. Had issues with Edge, but after clearing cache and 1 cookie, I restarted the upgrade and this time it worked.
Thanks a lot @regevbr, this problem bugged me for quite some time. :)

Which firmware contains this fix?
Will 8.19 have it? Or did I miss the release notes of latest 8.18?

Which firmware contains this fix?

8.19, it's not released yet, we're testing it.


Remove user specific settings

Updating gitignore to remove user specific settings committed in preview PR.

This update is related to a few changes in PR #106


Bluetooth: Host: Add BT_LE_ADV_OPT_GATT_UUIDS

Add the BT_LE_ADV_OPT_GATT_UUIDS option for advertising
which lets the stack search through the GATT database
and add all, if possible, primary service UUIDs to
the advertising data using the
BT_DATA_UUID16_SOME, BT_DATA_UUID16_ALL,
BT_DATA_UUID32_SOME, BT_DATA_UUID32_ALL,
BT_DATA_UUID128_SOME or BT_DATA_UUID128_ALL
AD types.
This is implemented similarly to the
BT_LE_ADV_OPT_USE_NAME option.
Signed-off-by: Emil Gydesen<EMAIL_ADDRESS>fixes https://github.com/zephyrproject-rtos/zephyr/issues/33777

I've started this as a draft, to see if there's any strong resistance to such a feature before I start the full implementation. @jhedberg @alwa-nordic do you think this is a good/bad idea to have?
Besides the UUIDs, we may also want to add a way of automatically including service data from registered services, as that may also be non-trivial for an application to manage - Especially for LE Audio where we initiate a lot of GATT services.

Nice to see a well documented API!
But I prefer the wrapper/helper function approach that @Thalley also suggested in the issue (#33777). My reasoning: This API makes decisions in the priority of AD structures that may be not what application needs. (i.e. services before name, 16-bit before 128-bit, order among 16-bit services, etc.) I imagine that we should have core API that is general and suitable to build any behavior on top of, and functions that implement policy / make decisions in libraries, that are optional and exchangeable.

Nice to see a well documented API!
But I prefer the wrapper/helper function approach that @Thalley also suggested in the issue (#33777). My reasoning: This API makes decisions in the priority of AD structures that may be not what application needs. (i.e. services before name, 16-bit before 128-bit, order among 16-bit services, etc.) I imagine that we should have core API that is general and suitable to build any behavior on top of, and functions that implement policy / make decisions in libraries, that are optional and exchangeable.

So you would be in favor of a function that returns an array of GATT service UUIDs currently registered (which would basically be a wrapper+filter on top of bt_gatt_foreach_attr)?
I agree with your points that implicitly adding advertising data to the data supplied by the application is not ideal.

Closed in favor of https://github.com/zephyrproject-rtos/zephyr/pull/43665


Refactor task ack manager

What changed?

Why?

How did you test it?

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 0181ce01-be07-47fe-b056-75ffc2fb027d

233 of 244 (95.49%)  changed or added relevant lines in 4 files are covered.
136 unchanged lines in 20 files lost coverage.
Overall coverage decreased (-0.05%) to 57.739%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

service/history/historyEngine.go
9
20
45.0%

Files with Coverage Reduction
New Missed Lines
%

common/task/weightedRoundRobinTaskScheduler.go
1
88.6%

common/membership/hashring.go
2
83.54%

common/persistence/executionManager.go
2
77.95%

common/persistence/statsComputer.go
2
94.64%

common/task/fifoTaskScheduler.go
2
87.63%

service/history/execution/mutable_state_util.go
2
36.14%

service/history/handler.go
2
47.6%

service/history/task/transfer_standby_task_executor.go
2
88.03%

service/matching/taskListManager.go
2
73.77%

service/history/queue/timer_gate.go
3
95.83%

Totals

Change from base Build 0181cd7a-4fde-478f-98b7-435459d0a2b7:
-0.05%

Covered Lines:
83651

Relevant Lines:
144879

💛  - Coveralls


Fixing the entrypoint to navigate to the workspace first before runni…

…ng git-cliff

- uses: actions/checkout@v4
  with:
    fetch-depth: 0

was needed. Closed.


Add an array fix spec

Is this not failing for anyone else?
I'm wondering if it's a Ruby version? I'm running 2.5.1...

Yes, open ended Range literals (i.e. number..) are new in Ruby 2.6. I believe that's what Alonetone is running on in production right? I don't mind changing this btw.

Yeah, production is on 2.6.x but feel free to press merge Jeyna if you need ruby 2.5.x. support.

I need it right now for maybe few more hours :D till I start running 2.6 locally :D


"Read timed out" error while generating lock file.

Issue description
Creating the virtual environment and installing packages from pip with pipenv install is fine, but I get a Read timed out. error while creating the lock file. I'm running pipenv install numpy as the working example with Python version 2.7.12 on Ubuntu 16.04. (I do have pyenv installed but for this example the shim just points to the system python.)
Running pip list in the virtual environment shows the package installed correctly. (As does running the import statement in the python shell.) It's just the lock file that has problems. I also tried running pipenv lock --clear with the created Pipfile, and the same error shows up.
Expected result
Clean exit and production of Pipfile.lock (not produced in practice)
Actual result
pipenv install numpy --verbose
Installing numpy...
⠋Installing u'numpy'
$ "/home/andrew/.local/share/virtualenvs/pipenv-test-folder-5LVhMAsj/bin/pip" install   --verbose    "numpy" -i https://pypi.org/simple --exists-action w
...
Adding numpy to Pipfile's [packages]...
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
using sources: [{u'url': u'https://pypi.org/simple', u'verify_ssl': True, u'name': u'pypi'}]
Using pip: -i https://pypi.org/simple

                          ROUND 1
Current constraints:
  numpy (from -r /tmp/pipenv-bKDTaP-requirements/pipenv-p_tTUY-constraints.txt (line 2))

Finding the best candidates:
  found candidate numpy==1.15.0 (constraint was <any>)

Finding secondary dependencies:
  numpy==1.15.0             requires numpy==1.15.0; python_version >= "2.7" and python_version != "3.0.*" and python_version != "3.1.*" and python_version != "3.2.*" and python_version != "3.3.*"

New dependencies found in this round:
  adding [u'numpy', '==1.15.0', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  numpy==1.15.0 (from -r /tmp/pipenv-bKDTaP-requirements/pipenv-p_tTUY-constraints.txt (line 2))

Finding the best candidates:
  found candidate numpy==1.15.0 (constraint was ==1.15.0)
Finding secondary dependencies:
  numpy==1.15.0             requires numpy==1.15.0; python_version >= "2.7" and python_version != "3.0.*" and python_version != "3.1.*" and python_version != "3.2.*" and python_version != "3.3.*"
------------------------------------------------------------
Result of round 2: stable, done

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pipenv/resolver.py", line 87, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/pipenv/resolver.py", line 76, in main
    system=system,
  File "/usr/local/lib/python2.7/dist-packages/pipenv/resolver.py", line 63, in resolve
    allow_global=system,
  File "/usr/local/lib/python2.7/dist-packages/pipenv/utils.py", line 402, in resolve_deps
    req_dir=req_dir
  File "/usr/local/lib/python2.7/dist-packages/pipenv/utils.py", line 294, in actually_resolve_deps
    hashes = resolver.resolve_hashes(results)
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/resolver.py", line 74, in resolve_hashes
    return {ireq: self.repository.get_hashes(ireq) for ireq in ireqs}
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/resolver.py", line 74, in <dictcomp>
    return {ireq: self.repository.get_hashes(ireq) for ireq in ireqs}
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 448, in get_hashes
    for candidate in matching_candidates
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 448, in <setcomp>
    for candidate in matching_candidates
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 72, in get_hash
    hash_value = self._get_file_hash(location)
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 81, in _get_file_hash
    for chunk in iter(lambda: fp.read(8096), b""):
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 81, in <lambda>
    for chunk in iter(lambda: fp.read(8096), b""):
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/notpip/_vendor/urllib3/response.py", line 401, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "/usr/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/local/lib/python2.7/dist-packages/pipenv/patched/notpip/_vendor/urllib3/response.py", line 316, in _error_catcher
    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pipenv.patched.notpip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
/usr/local/lib/python2.7/dist-packages/pipenv/_compat.py:113: ResourceWarning: Implicitly cleaning up <TemporaryDirectory '/tmp/pipenv-bKDTaP-requirements'>
  warnings.warn(warn_message, ResourceWarning)

/usr/local/lib/python2.7/dist-packages/pipenv/_compat.py:113: ResourceWarning: Implicitly cleaning up <TemporaryDirectory '/tmp/pipenv-IF40st-requirements'>
  warnings.warn(warn_message, ResourceWarning)

Steps to replicate
Just pipenv install numpy in a clean folder.

$ pipenv --support
Pipenv version: '2018.7.1'
Pipenv location: '/usr/local/lib/python2.7/dist-packages/pipenv'
Python location: '/usr/bin/python'
Other Python installations in PATH:

2.7: /home/andrew/.pyenv/shims/python2.7

2.7: /home/andrew/.pyenv/shims/python2.7

2.7: /usr/bin/python2.7

3.5: /home/andrew/.pyenv/shims/python3.5m

3.5: /home/andrew/.pyenv/shims/python3.5

3.5: /usr/bin/python3.5

3.5: /home/andrew/anaconda3/bin/python3.5

2.7.12: /home/andrew/.pyenv/shims/python

2.7.12: /usr/bin/python

3.5.2: /home/andrew/anaconda3/bin/python

2.7.12: /home/andrew/.pyenv/shims/python2

2.7.12: /usr/bin/python2

3.5.2: /home/andrew/.pyenv/shims/python3

3.5.2: /usr/bin/python3

3.5.2: /home/andrew/anaconda3/bin/python3

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '0',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.4.0-131-generic',
 'platform_system': 'Linux',
 'platform_version': '#157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018',
 'python_full_version': '2.7.12',
 'python_version': '2.7',
 'sys_platform': 'linux2'}

System environment variables:

UPSTART_EVENTS
PYTHONDONTWRITEBYTECODE
XDG_SESSION_TYPE
INFOPATH
SHELL
TEXINPUTS
PYENV_SHELL
XDG_DATA_DIRS
MANDATORY_PATH
COMPIZ_CONFIG_PROFILE
UNITY_DEFAULT_PROFILE
UPSTART_INSTANCE
JOB
SESSION
MANPATH
ALGENCAN
XMODIFIERS
JAVA_HOME
GTK2_MODULES
XDG_RUNTIME_DIR
TEC_360_2014
PYTHONPATH
COMPIZ_BIN_PATH
QT_ACCESSIBILITY
XDG_SESSION_ID
DBUS_SESSION_BUS_ADDRESS
DEFAULTS_PATH
DESKTOP_SESSION
GTK_MODULES
INSTANCE
PETSC_ARCH
XDG_MENU_PREFIX
LS_COLORS
GNOME_DESKTOP_SESSION_ID
TAPENADE_HOME
LESSOPEN
USER
XDG_VTNR
PYENV_VIRTUALENV_INIT
XAUTHORITY
LANGUAGE
SESSION_MANAGER
SHLVL
QT_QPA_PLATFORMTHEME
DISPLAY
CLUTTER_IM_MODULE
WINDOWID
PETSC_DIR
GPG_AGENT_INFO
XDG_SESSION_DESKTOP
GDMSESSION
UPSTART_JOB
XDG_SEAT_PATH
PIP_PYTHON_PATH
GTK_IM_MODULE
TEXMFHOME
XDG_CONFIG_DIRS
XLIB_SKIP_ARGB_VISUALS
PYENV_HOOK_PATH
PYENV_ROOT
TEC_360_2009
TAO_DIR
XDG_GREETER_DATA_DIR
QT4_IM_MODULE
GALAHAD
TEXMFCNF
HOME
LD_LIBRARY_PATH
LANG
QT_LINUX_ACCESSIBILITY_ALWAYS_ON
PYENV_VERSION
MASTSIF
VTE_VERSION
XDG_CURRENT_DESKTOP
LESSCLOSE
GNOME_KEYRING_PID
QRM_NUM_THREADS
ARCHDEFS
CUTEST
PYENV_DIR
UNITY_HAS_3D_SUPPORT
QT_IM_MODULE
LOGNAME
XDG_SEAT
GNOME_KEYRING_CONTROL
PATH
TERM
XDG_SESSION_PATH
SIFDECODE
SESSIONTYPE
IM_CONFIG_PHASE
SSH_AUTH_SOCK
LATEX_STYLES
UPSTART_SESSION
DEAL_II_DIR
GDM_LANG
MYARCH
PWD

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /usr/local/bin:/home/andrew/.pyenv/libexec:/home/andrew/.pyenv/plugins/python-build/bin:/home/andrew/.pyenv/plugins/pyenv-virtualenv/bin:/home/andrew/.pyenv/plugins/pyenv-update/bin:/home/andrew/.pyenv/plugins/pyenv-installer/bin:/home/andrew/.pyenv/plugins/pyenv-doctor/bin:/home/andrew/.pyenv/plugins/pyenv-virtualenv/shims:/home/andrew/.pyenv/shims:~/.pyenv/bin:/usr/local/texlive/2012/bin/x86_64-linux:/home/andrew/git-code/cutest-mirror/bin:/home/andrew/git-code/sifdecode-mirror/bin:/home/andrew/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/tecplot360ex/bin:/home/andrew/galahad/bin:/home/andrew/packages/tapenade3.10/bin:/usr/ansys_inc/v140/icemcfd/linux64_amd/bin/:/home/andrew/anaconda3/bin:/home/andrew/ampl.linux64
SHELL: /bin/bash
LANG: en_CA.UTF-8
PWD: /home/andrew/git-code/pipenv-test-folder

Contents of Pipfile ('/home/andrew/git-code/pipenv-test-folder/Pipfile'):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]
numpy = "*"

[requires]
python_version = "2.7"

I had the same problem. This seems to have something to do with #2110 and #2193.
The problem went away when I upgrade my system wide certifi from 2018.1.18 to 2018.8.13:
$ PIP_REQUIRE_VIRTUALENV=false pip3 install certifi --upgrade

@rincewind Thanks! That seems to have fixed it. A slightly flaky internet connection wasn't helping.

That's probably just the internet connection.

That's probably just the internet connection.

I also met, randomly timeout

this happens only because of internet connection

I solved using this: https://blog.csdn.net/jpch89/article/details/81952416

I solved using this: https://blog.csdn.net/jpch89/article/details/81952416

That works! (base in China) Thanks!


Table key smaller than 64bit

Here is my some code.
To reduce the data size, 'id', 'knight', and 'sale_id' are not uint64_t, even though they are keys.
It works fine, because 'primary_key()', 'by_knight()' and 'by_saleid()' functions convert key to uint64_t.
I wonder if it can be used like this.
//@abi table item i64
struct item {
    uint16_t id = 0;
    uint16_t code = 0;
    uint8_t knight = 0;
    uint8_t level = 0;
    uint8_t exp = 0;
    uint32_t dna = 0;
    uint32_t saleid = 0;

    uint64_t primary_key() const {
        return id;
    }

    uint64_t by_knight() const {
        return knight;
    }

    uint64_t by_saleid() const {
        return saleid;
    }

    EOSLIB_SERIALIZE(
            item,
            (id)
            (code)
            (knight)
            (level)
            (exp)
            (dna)
            (saleid)
    )
};

typedef eosio::multi_index< N(item), item,
    indexed_by< N(knight), const_mem_fun<item, uint64_t, &item::by_knight> >,
    indexed_by< N(saleid), const_mem_fun<item, uint64_t, &item::by_saleid> >
> item_table;

As you know, ram price is too expensive. This method reduce memory up to 1/8. Please check this issue asap.

Yes you can use 8bit, 16bit, 32bit integers in structs to save memory, as long as the key functions return uint64/uint128/uint256/double/float128. Please also notice that secondary indexes also implicitly cost more memory usage.


Run Shortest in GitHub workflow

Add a new Github workflow to run shortest test after a successful deployment in Vercel Preview env
Add two new command line args to override config file:

--target=url to set the preview url
--headless to enforce headless mode in github workflow

Fix some bug and add command log validators
Note
Remember to add ANTHROPIC_API_KEY key in github secrets.
Instructions in README.md file

Quick Demo:


more operator fixes

This PR contains below fixes:

validating deployment certificates
validating deployment driver mode
using operator image as the default driver image
do not delete CRD on exit if any active deployments
fix /sys mounting in direct mode
handle reconcile on restart operator

@pohly I believe I addressed all the points you mentioned. Can you please have a look, If it's ok to merge.

I suspect the test failure is related to #593. @pohly Can you please check if it's the real issue or something I messed up in my tests.

operator: do not requeue reconcile on driver name clash

That commit argues that reconciliation can be stopped until the user updates the deployment spec. But what if the user resolves the conflict by removing the other driver instance? Then the deployment becomes usable without updating it.

operator: fix test failures

Which failure is that fixing? Did some other commit change the behavior? Then this commit should be squashed into that other one.

I suspect the test failure is related to #593.

Did you change something? The latest test run was successful.

All of the commits except(https://github.com/intel/pmem-csi/pull/584/commits/146cde6b7bedafa27c46cfcd093bce83ea6807e9) are merged through other PRs, so I would close this PR.


New install

My 1st install was 2 years ago.  Worked great for a year till something crashed. Couldnt figure it out so I reinstalled completely.  Was good till 5-27-2020.  .  I have something wrong but dont know where to go.  Completely stopped.  Multiple errors.  Changed sensor.  Got a new Pi3b+, reinstalled and still multiple program, errors but dont think its that.  From the sample below, can you please give me aclue where to start?

%Run rsumpchart.py
Traceback (most recent call last):
File "/usr/local/bin/rsumpchart.py", line 24, in
main()
File "/usr/local/bin/rsumpchart.py", line 21, in main
todaychart.graph(csv_file, filename, bytes2str)
File "/usr/local/lib/python3.7/dist-packages/raspisump/todaychart.py", line 66, in graph
csv_file, delimiter=",", unpack=True, converters={0: bytes2str}
File "/usr/lib/python3/dist-packages/numpy/lib/npyio.py", line 955, in loadtxt
fh = np.lib._datasource.open(fname, 'rt', encoding=encoding)
File "/usr/lib/python3/dist-packages/numpy/lib/_datasource.py", line 266, in open
return ds.open(path, mode, encoding=encoding, newline=newline)
File "/usr/lib/python3/dist-packages/numpy/lib/_datasource.py", line 624, in open
raise IOError("%s not found." % path)
OSError: /home/pi/raspi-sump/csv/waterlevel-20200610.csv not found.

My installation stopped working recently when I changed the sensor and re-set the pit depth to 34.5 cm.  I tried lots of things until I found an error indicating that the Pit Depth had to be an integer.  Changed it back to 35cm and it's working normally.  You issue is probably something different but I thought I'd let you know anyway.

What version of matplotlib/numpy are you running?
Try
sudo apt remove python-matplotlib python-numpy  (python version 2)
ensure python3 version is installed
sudo apt install python3-matplotlib
that will include numpy as one of the dependencies.
I assume you are running raspbian.

Hi Al
I am on Raspian and running the newest version of matplotlib  (3.0.2-2)
But i did the re-install anyway. I noticed a bunch of errors related to openssh server but everything seems to be working ok .
I have noticed spiders and cobwebs in the sump which is currently empty apart from an occasional pump test.  Or maybe there is something else living down there ........
Thanks again for responding I'll let you know how it goes.
Nick
matplotlib_reinstall.txt

Thanks. I am doing a complete rewiring. Moved the ground to a different pin
and seems to get results. Will reply when complete. I just have limited
time to work on this. Thank!
On Thu, Jun 11, 2020, 6:26 AM nickw56<EMAIL_ADDRESS>wrote:

My installation stopped working recently when I changed the sensor and
re-set the pit depth to 34.5 cm. I tried lots of things until I found an
error indicating that the Pit Depth had to be an integer. Changed it back
to 35cm and it's working normally. You issue is probably something
different but I thought I'd let you know anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alaudet/raspi-sump/issues/66#issuecomment-642582147,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKQ73IUKZP757EDWF3JFZELRWC5PVANCNFSM4N26CT4Q
.

@Emork142 - Did you figure out your issue?  To me it looks like the file doesn't exist yet (bottom of the stack trace)

@Emork142 - Did you figure out your issue?  To me it looks like the file doesn't exist yet (bottom of the stack trace)

As this issue has stalled I am going to close it.

As this issue has stalled I am going to close it.


BNB trades

Hi there i have asked before but thought i would ask again.
When will like direct BNB to BTC trades be implimented and also like BNB <> BEP20 or ETH <> ERC20 and possible like BEP <> erc20 or other cross chain transactions ??

has there been any update with being able to swap like actual bnb with btc or more cross platforms not just btc across to other platforms
as you need bnb to transact with some , but can actually exchange bnb directly


Update index.rst – highlight that the code snippet will not work

Highlight that the code snippet will not work.
Most of the time users will simply skim read the docs trying to spot snippets on how to use the code.
Since this is the only snippet on the welcome page, we might want to highlight that it's an example that won't work.

Nice, thank you


I think github just had a moment. All the tests failed due to "internal action error"

yea

tests all pass, godspeed


[WIP] Send Swarm logs to stdout

Fix #2546.
Need to include this in release log in case users are getting logs from stderr.
Signed-off-by: Dong Chen<EMAIL_ADDRESS>

Oh, I think it is a legacy mistake.
LGTM if the CI is going to be all green.

LGTM (I don't think any CI failure is related)

Restarted the CI and many more tests are failing now. It might be the case that adding more lines to stdout might end up breaking test passing conditions. This needs to be checked, so let's wait before merging this.

@dongluochen can you rebase?

The helper function discovery_check_swarm_list takes output from swarm list. This PR changes swarm output to stdout. It has side effect of breaking this function. Need to fix it with node address matching.
 function discovery_check_swarm_list() {
-	local joined=`swarm list "$1" | wc -l`
 +	# IPv4 address is used in this test. use relative matching
 +	local joined=`swarm list "$1" | egrep '(([0-9]{1,3})\.){3}([0-9]{1,3}):[0-9]+' | wc -l`

@dongluochen all tests pass 🎉 . Should we merge this?

Yes. Ready for merge.


Dead Links in "VI Tester Getting Started Guide"

All hyperlinks in https://github.com/JKISoftware/JKI-VI-Tester/wiki/VI-Tester-Getting-Started-Guide linking to http://forums.jkisoft.com/ are dead.
It would be nice if these resources could be made available again, making it easier to get started with VI Tester.

Thanks @patricjenni. The links should be working now. We just did a major upgrade of the forums.