[Event Request] Codeunit 1535 "Approvals Mgmt." - OnSendApprovalRequestFromApprovalEntryOnAfterApprovalEntry2SetFilters

Hi, would it be possible to get an OnSendApprovalRequestFromApprovalEntryOnAfterApprovalEntry2SetFilters event in codeunit 1535 (Approvals Mgmt.), like this:
    procedure SendApprovalRequestFromApprovalEntry(ApprovalEntry: Record "Approval Entry"; WorkflowStepInstance: Record "Workflow Step Instance")
    var
        ApprovalEntry2: Record "Approval Entry";
        ApprovalEntry3: Record "Approval Entry";
        IsHandled: Boolean;
    begin
        IsHandled := false;
        OnBeforeSendApprovalRequestFromApprovalEntry(ApprovalEntry, WorkflowStepInstance, IsHandled);
        if IsHandled then
            exit;

        if ApprovalEntry.Status = ApprovalEntry.Status::Open then begin
            CreateApprovalEntryNotification(ApprovalEntry, WorkflowStepInstance);
            exit;
        end;

        if FindOpenApprovalEntriesForWorkflowStepInstance(ApprovalEntry, WorkflowStepInstance."Record ID") then
            exit;

        ApprovalEntry2.SetCurrentKey("Table ID", "Document Type", "Document No.", "Sequence No.");
        ApprovalEntry2.SetRange("Record ID to Approve", ApprovalEntry."Record ID to Approve");
        ApprovalEntry2.SetRange(Status, ApprovalEntry2.Status::Created);

        OnSendApprovalRequestFromApprovalEntryOnAfterApprovalEntry2SetFilters(ApprovalEntry2,ApprovalEntry); // New Event

        if ApprovalEntry2.FindFirst then begin
            ApprovalEntry3.CopyFilters(ApprovalEntry2);
            ApprovalEntry3.SetRange("Sequence No.", ApprovalEntry2."Sequence No.");
            if ApprovalEntry3.FindSet then
                repeat
                    ApprovalEntry3.Validate(Status, ApprovalEntry3.Status::Open);
                    ApprovalEntry3.Modify(true);
                    CreateApprovalEntryNotification(ApprovalEntry3, WorkflowStepInstance);
                until ApprovalEntry3.Next() = 0;
        end;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnSendApprovalRequestFromApprovalEntryOnAfterApprovalEntry2SetFilters(var ApprovalEntry2: Record "Approval Entry"; ApprovalEntry: Record "Approval Entry");
    begin
    end;

Thanks!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


[WIP][zwave]Adding helper for get and set values

Description:
Ref: https://github.com/home-assistant/home-assistant/pull/5619#pullrequestreview-19004477
I'm not sure if this is any helpful at all, only gaining 6 less lines of code.
Discussion open :)

I think this is better than what's there right now, but I'm going to use this as a discussion for a further refactoring I've been mulling over for a while. The root use-case for these loops are Entities that need to reference more than one ZWave Value. Currently, entities are tied to one value, which is passed in when the entity is created.
Right now we're looping over all the node values every time a different value needs to be looked up. The way I'd ultimately like to implement this is to refactor the discovery code to search for all the values that an entity needs. Right now in DISCOVERY_COMPONENTS, each item is a description of one ZWave value that will trigger the creation of the underlying entity. I think we could come up with a way to expand these definitions to include additional values that should also be passed to the entity if they are discovered on the network. I implemented something of a first-pass at this for ZWave color lights, but this should be generalized in the ZWave component code.
This way the ZWave entities will get a reference to the extra values they need as soon as its discovered by the ZWave network, and they won't need to do the search each time they need it.

The last committ, I need somebody to test if that really works, as this is just based on how I read the code.

@turbokongen I don't have a cover device :(

@armills I like that idea, should we move that discussion to an issue?

@balloob  I'll probably just open a PR at some point with at least a proof of concept, and we can discuss it there.


Run configuration

Hi.
Thanks for the useful plugin.
Have you considered to implement run configuration for being able to save common jobs configuration with it's parameters to don't fill them in each time?

Not yet but sounds great.
Thanks for this suggestion

@klyashko Do you think that only jobs with parameters should avaiable for run configuration?
And do you have an update scenario if new paramter are added or some removed?
I would think it is easier to check if all parameters are still available and fail otherwise
Whats your opinion?

@MCMicS About first question, having an opportunity to run a job without parameters with shortcut seems good to me.
In case of adding new parameters you can just render them in edit window and that's enough.
In case of removal I like your idea.

If a new parameter was add you show the current dialog with new one only right?
Another option is to show current build dialog if parameter mismatch (either new added or old was removed)

I mean if new parameter was added I'd suggest two option:

Don't do anything until a user decide to edit the configuration (I think that it's the most common case. And if it's required Jenkins will fail to start the job)
Fail when user tries to run it with message what happened. Or show edit dialog. (that's more defensive option)

Thanks for feedback. I will try one of the option and look how the ux is.
I'm currently working on it but don't if it is in next release. Maybe i create an preview for the feature to test


Update notes on auto backup feature for Azure Functions

Desciption
The following link describes the auto backup feature for Azure Functions.
https://learn.microsoft.com/en-us/azure/app-service/manage-backup?tabs=portal#does-azure-functions-support-automatic-backups

Does Azure Functions support automatic backups?
Automatic backups are available in preview for Azure Functions in dedicated (App Service) Standard or Premium tiers. Function apps in the Consumption or Elastic Premium pricing tiers aren't supported for automatic backups.

Function apps hosted on the Basic plan can also use the auto backup feature and should be modified like below:

Does Azure Functions support automatic backups?
Automatic backups are available in preview for Azure Functions in dedicated (App Service) Basic, Standard or Premium tiers. Function apps in the Consumption or Elastic Premium pricing tiers aren't supported for automatic backups.

Azure documentation issue guidance
Thanks for opening an issue in the Azure technical documentation repository.
We use GitHub issues as the primary channel for customer and community feedback about the Azure documentation.
Creating an issue
We prefer that you create documentation feedback issues using the Feedback link on the published article - the feedback control on the doc page creates an issue that contains all the article details so you can focus on the feedback part.
You can also create a feedback issue here in the repo. If you do this, please make sure your issue lists:

[x] The relevant Azure service or technology.
[x] A link to the published documentation article that you have feedback about.
[x] Clear, specific feedback that the author can act on.

Pull requests and article contributions
If you know the change that is needed in an article, we encourage you to submit the changes directly using a pull request. If the change is large, or if you want to contribute an entire article, follow these guidelines:

[x] Don't surprise us with a big pull request or a pull request with a new article! Submit an issue that describes the details of the proposed large change or new article.
[x] Include the service or technology area.

We'll route the issue to the appropriate content team for review and discussion.
Tech support and product feedback
If you would like to contact Microsoft about other things, such as product feedback or tech support, please review these guidelines:

If you need technical support using Azure, the paid and free support options are described here: https://azure.microsoft.com/support/options/.

Each article in the Azure technical documentation contains a product feedback button - it's best to submit product feedback directly from a relevant article. Otherwise, you can submit product feedback for most Azure products in the following product feedback forum: https://feedback.azure.com/d365community/forum/79b1327d-d925-ec11-b6e6-000d3a4f06a4.

###########################
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4754bcfc-204a-d398-6b86-e452cd0d44a1
Version Independent ID: 157885c4-2579-8f98-1e85-c3063a861207
Content: Back up an app - Azure App Service
Content Source: articles/app-service/manage-backup.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@zakimal
Thanks for your feedback! We will investigate and update as appropriate.

@zakimal  Thank you for your feedback! Requested changes has been made and documentation changes will go live soon.


Mutual exlusion

Hi,
I need to make sure that two sagas never run at the same time. Say I have two sagas:
function *sagaA() {
...
}
function *sagaB() {
...
}

Does the following approach work:
function *wrapperA() {
  while (true) {
    const state: boolean = yield select(selectFlag);
    if (state === false) {
      yield put(setFlag(true));
    } else {
      yield take();
      continue;
    }
    yield *sagaA();
    yield put(setFlag(false));
  }
}

and wrapperB will basically do the same. So I'm trying to implement a lock. For that to work I need to make sure that wrapperA and wrapperB don't select at the same time. Is this the case? If not, how can I implement this behavior?
Thanks!

Just learned about setContext, would that be a better approach?

Came up with this:
export let SAVE_OR_EVAL_MUTEX: boolean = true;

export function runWithSaveOrEvalMutex(generator: () => Generator) {
  return function*() {
    while (true) {
      if (SAVE_OR_EVAL_MUTEX) {
        yield take();
      } else {
        SAVE_OR_EVAL_MUTEX = true;
        yield call(generator);
        SAVE_OR_EVAL_MUTEX = false;
      }
    }
  };
}

This should work.

How about using takeLatest to switch between sagaA and sagaB?
function *sagaA() {}
function *sagaB() {}

function* triggerSagaA_or_SagaB(action) {
  if (action.type === 'trigger-a') {
    yield call(sagaA, ...args)
  } else {
    yield call(sagaB, ...args)
  }
}

function* rootSaga() {
  yield takeLatest(['trigger-a', 'trigger-b'], triggerSagaA_or_SagaB)
}

When SagaA or SagaB starts, takeLatest will cancel the last task (if it is still running) automatically. As long as if you call sagaA/sagaB via triggerSagaA_or_SagaB, these two sagas will never run at the same time. I haven't used redux-saga for a long time, but I think it should work.

Thanks for your reply! I just don't want to cancel running sagas. So something like takeLatest that waits for the current computation to finish would be ideal. Any ideas?

@lukas1994 If you want to ignore trigger-a / trigger-b while sagaA or sagaB is running, then you could try...
function *sagaA() {}
function *sagaB() {}

let running = false

function* triggerSagaA_or_SagaB(action) {
  if (running) {
    return
  }
  running = true
  try {
    if (action.type === 'trigger-a') {
      yield call(sagaA, ...args)
    } else {
      yield call(sagaB, ...args)
    }
  } finally {
    running = false
  }
}

function* rootSaga() {
  yield takeEvery(['trigger-a', 'trigger-b'], triggerSagaA_or_SagaB)
}

Or if you want to wait for the current computation to finish and then re-trigger sagaA/sagaB, you need a queue/buffer to keep the dispatched trigger-a / trigger-b actions during the current computation.
function* rootSaga() {
  const chan = yield actionChannel(['trigger-a', 'trigger-b'])
  while (true) {
    // process trigger-a or trigger-b one by one
    const action = yield take(chan)
    if (action.type === 'trigger-a') {
      yield call(sagaA, ...args)
    } else {
      yield call(sagaB, ...args)
    }
  }
}

Nice! The 2nd approach is almost what I want.
Instead of take(chan) I want to find the last from both trigger-a and trigger-b and then only run those (with trigger-a having a higher priority than trigger-b).
I could probably just do that with a loop unless you have a nice prebuilt function for that :)

I ended up writing this:
function* evalSaveManager() {
  let lastEvalTask: Task | undefined;
  const saveChannel = yield actionChannel([A.SAVE_ALL_EDITOR_MODELS]);
  const evalChannel = yield actionChannel([A.SIMULATION_START]);
  while (true) {
    yield take();
    // check if there's an eval request
    const evalActions: A.SimulationStartAction[] = yield flush(evalChannel);
    if (evalActions.length > 0) {
      if (lastEvalTask !== undefined) {
        yield cancel(lastEvalTask); // cancel is no-op if the task has already terminated
      }
      lastEvalTask = yield fork(recompute, evalActions[evalActions.length - 1]);
    }
    // only if no eval is running we'll look for save actions
    if (lastEvalTask === undefined || !lastEvalTask.isRunning()) {
      const saveActions: A.SaveAllEditorModelsAction[] = yield flush(
        saveChannel
      );
      if (saveActions.length > 0) {
        // *wait* for the save action to complete
        yield call(saveAllEditorModels, saveActions[saveActions.length - 1]);
      }
    }
  }
}


gaston.log

I created gaston.log for logging in the browser. I'll write some readme stuff here and we can discuss.
gaston.log
Allows you to make your own logger based on console.log which you can turn on and off easily.
gaston.log.level
There are several possible values for log.level:

value
type
it logs
example

false
Boolean
nothing
false

true
Boolean
everything
true

label
String
only from the logger created with label
'operators'

labels
Object
only from the loggers created with label if labels[label]
{ operators: true, myDevLogs: true }

Starting value for log.level is false
gaston.log.make( label )
Creates a labeled logger.
var log = gaston.log.make( 'myLabel' )

log.enabled = true

use
Your logger will have shimmed all the methods of console, and the logger itself will be a shim of console.log.
var log = gaston.log.make( 'myLabel' )

log.warn( 'hey' ) // does nothing! forgot to turn it on!

log.enabled = true // this is the line you comment to disable all logs

log( 'hey this is just console.log!', 'wut' )
log.group()
log.error( 'omg it works!' )
log.groupEnd()

sugar
I added some sugar to make more fancy logs. We can keep adding methods as we go along, sharing styles we use in gaston/lib/browser/log/styles.js yay!
For inspiration check the Chrome console.log docs.
log.header( text [, logthis, ... ] )
log.header( 'remove obs.prop!', obs.$on.$property )
obs.prop.remove()

This will log a giant blue text preceded with a line of dashes, to easily mark key events in your flow and find them in the console. Any other arguments after the first will result in a normal log after the header.
log.info( text [, logthis, ... ] )
log.info( 'obs is now', obs )

This will log a not so giant green text preceded with a line of dashes, basically like log.header, but less intrusive.

let's use #70 for this


Feature request: Add supporting for "uber-trace-id" header.

When using Kong Zipkin plugin with Jaeger client without B3TextMapCodec, Jaeger can't aggregate spans and services span:

To flexibility support integrating multiple tracing system (jaeger, zipkin) with Kong.
Let's support extracting span from Tracing Context header like uber-trace-id header when unable extracting from X-B3-... headers in the request, and also injecting Kong's span context to uber-trace-id as well as current X-B3-... headers to upstream request headers.

I'd like to have the option of different propagation formats (see also #21): to make the change I think we may need to break up the plugin into multiple plugins where you separately enable extractors, injectors and reporters.
To make coordination between these different plugins consistent, I'm looking into if we should add things to the Kong PDK.

Is there any news on this? We use Jeager tracing and while we can collect the Zipkin trace from kong, we are having a bear of a time aggregating the traces together. It would be awesome to find out if theres any news on this issue.

Hi!, my team at Globo.com have some troubles to use this plugin, the default behavior of many applications is to use uber-trace-id, @gszr and @kikito how could we improve this plugin to achieve this feature?

This is the kon-plugin-zipkin, isn't it better to request this in an opentracing plugin or create a plugin for Jaeger? I honestly don't think this plugin should support such a thing.

This was implemented in #101


Update README.md

There is also this PR already: https://github.com/EnAccess/OpenPAYGO-python/pull/7


[Build] CI & Notebook Workaround

Workaround #1003  and #1004 by marking three tests as XFAIL. The failures appear related to #951

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.03%. Comparing base (46e5144) to head (8c86a0d).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1005      +/-   ##
==========================================
+ Coverage   62.80%   70.03%   +7.23%
==========================================
  Files          62       62
  Lines        4412     4412
==========================================
+ Hits         2771     3090     +319
+ Misses       1641     1322     -319

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


Can't open the rat, followed everything on Wiki

Help! I tried opening the rat, without anti-virus. And it didn't work at all, in fact I did it multiple times, checked the Wiki followed everything, I have python installed with PATH, and installed all of the requriements. Token is working and Server ID is working???

No

are you on a vm?

But always, the rat is working for me

Ggs


Add a standalone batch job to bulk publish the whole corpus or subsets of the corpus

to be triggered by dev upon instruction by Lattice after manually checking all private migrated collections

Duplicate


Translations are not working

Translations are not working for the most UI elements.

Superset version 0.35.2 with this configuration:

BABEL_DEFAULT_LOCALE = "es"
BABEL_DEFAULT_FOLDER = "superset/translations"
LANGUAGES = {
    "es": {"flag": "es", "name": "Spanish"},
}

I have also tried other languages and the result is the same. For example, from the top menu, only the Security combobox is translated correctly. The rest of the elements are in English permanently.

Hi @fjcobo,
This seems like a problem with the release process itself. Thank you for reporting.
Meanwhile you can fix it by using:
superset fab babel-compile --target venv/lib/python3.6/site-packages/superset/translations

replace venv/lib/python3.6/site-packages/ with the path to your venv

Hi @dpgaspar
Thanks for the reply. The command runs correctly but I don't get the expected result.

@fjcobo
You can see this link https://github.com/cdmikechen/incubator-superset/blob/0.35-syzh/README-汉化.md


[Event Request] table 5902 "Service Line" - OnBeforeLookupContractNo, OnBeforeCalculateDiscount

Hello, would it be possible to add OnBeforeLookupContractNo, OnBeforeCalculateDiscount event to table 5902 "Service Line", like this:
        field(5936; "Contract No."; Code[20])            trigger OnLookup()
...
                  ServContractHeader: Record "Service Contract Header";
                 IsHandled: Boolean;
             begin
                 IsHandled := false;
>                 OnBeforeLookupContractNo(Rec, IsHandled); //New Event
                 if IsHandled then
                     exit;
                 GetServHeader();
                 ServContractHeader.FilterGroup(2);

local procedure CalculateDiscount()
...
          i: Integer;
         IsHandled: Boolean;
     begin
         IsHandled := false;
>         OnBeforeCalculateDiscount(Rec, IsHandled); //New Event
         if IsHandled then
             exit;
         if "Exclude Warranty" or not Warranty then
             Discounts[1] := 0

     [IntegrationEvent(false, false)]
     local procedure OnBeforeLookupContractNo(var ServiceLine: Record "Service Line"; var IsHandled: Boolean)
     begin
     end;

     [IntegrationEvent(false, false)]
     local procedure OnBeforeCalculateDiscount(var ServiceLine: Record "Service Line"; var IsHandled: Boolean)
     begin
     end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11007.


Other set operations

Picture collections can be viewed as a set of distinct images. What the current version does (deduplicating import from the import directory into the hash directory) is just a combination of reading a list of pictures into a set, and doing the union between two sets. It should be possible to implement other set-like operations like intersection, difference.

Intersection corresponds to "having these two image collections, which ones are present in both of them?"
Difference corresponds to "Which pictures are in one but not in the other collection?"

Both of those are useful from a practical standpoint.

This also leads the way to a better name for #1, since it could really be a program to operate on picture sets.


The one_hot_labels in acgan is not pooled in tfgan.gan_loss function.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.6.0
Python version: 2.7
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: 9.0/7.0
GPU model and memory: GTX 980M 4G
Exact command to reproduce: N/A

Describe the problem
I am trying to use tfgan.acgan_model together with tfgan.features.tensor_pool. There are three inputs to the acgan_model, i.e. real_data, generator_inputs, and one_hot_labels. While only two of the inputs (read_data, generator_inputs) are manipulated by tensor_pool in tfgan.gan_loss, which means that the one_hot_labels are incorrectly used in the acgan_discriminator_loss function.
The following is the entrance to the error function call. The one_hot_labels should be read from the tensor pool before this function call.
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/gan/python/train.py#L561

@joel-shor can you please take a look?

Nagging Assignee @bignamehyp: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @joel-shor: It has been 19 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @joel-shor: It has been 34 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @joel-shor: It has been 49 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @joel-shor: It has been 64 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @joel-shor: It has been 79 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @joel-shor: It has been 79 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Fixed by: https://github.com/tensorflow/tensorflow/commit/931a3054d2c13c3438fc58978b3463a0bd268aee


Rebase a few more peripherals

Rebase some I2C, SPI and USART peripherals for more uniformity across devices.

Thanks, looks good!


Update cmdlet documentation

I've skipped a lot of cmdlet documentation in favor of releasing functionality and need to shore this up.
Phases

Add Synopsis, Description, & Input
Add Examples
Add Links w/ primary link targeting readthedocs.io

Need to finish updating Examples and a few Synopses & Descriptions

Switched from ReadTheDocs to GitHub Pages + mkdocs #71


.reverse() improvements proposal

http://jsperf.com/ramda-reverse/4
Maybe, special type of _slice just for copying. (_copy()?)
We also can use this test thread's results: http://jsperf.com/new-array-vs-splice-vs-slice/113
And sometimes this is incredibly slow in EDGE. Idk why yet.
And how do you look at using different algorithms in different environments?
Maybe some sort of detection during initialization?
UPD1: Somebody has made my tests much more functional style and added Array.prototype.slice(). Thank you!
UPD2: Seems that copy2() for-index  copying with native .reverse() is the fastest (and 2nd in EDGE with a little difference).
UPD3: Changing the copying method gave ~10% to Chrome and great performance boost to EDGE.
Perhaps, the bootle's neck is in _isString() or _curry1(). Is it necessary to curry a function of one argument?.. Will try to check it in private tests.
UPD4: Have made another quick isString variant (in tests), making almost double boost in Chrome. If necessary, it will be same fast with numbers with
    x.substr !== undefined && Object.prototype.toString.call(x) === '[object String]';

Waiting for response before making anything.

I'm not sure what you want to propose here.
I don't think many of these implementations would maintain the current API:
R.reverse([1, 2, 3]); //=> [3, 2, 1]
R.reverse([{x: 1}, {x: 2}, {x: 3}]); //=> [{x: 3}, {x: 2}, {x: 1}]
R.reverse('abc'); //=> 'cba'

As to the currying, it's mostly there to support some lawful behavior in the presence of placeholder values.  There is now talk (#1449, #1497) of removing the placeholders, and then the currying would become unnecessary.

Thank you! I'm going to learn these talks.
I relied on tests here (/test/reverse.js). Tests with Objects are passing too (Objects are copied successfully too).
Seems, It could be faster with non-native copying implementation (copy2 in jsperf tests) and easier _isString check, that provides much faster way to distinguish that It isn't a String, keeping other functionality. It is what I want to propose.
All these things could make at least .reverse() is much faster at least for arrays even without changing curry algorithm.

Well, I'm sure we'd be more than willing to entertain a specific proposal.  Unless and until we decide to forgo the placeholders, we will try to uphold certain laws, including one that says that if for any function fn in Ramda, fn(R.__)  ≍  fn
I added the object case, because, while I didn't test it, it certainly looked as though at least one of your versions, xor would not work with anything other than numbers.

I'm sorry for confusing, eventually I've decided to use Native reverse, but with other improvements.

The main bottleneck is in _isString, slowing down any request for arrays.

So what do you propose?
We're generally in favor of changes that improve performance so long as they don't change the API and stay within the style of other Ramda functions.
But we're generally not motivated by smaller performance changes.  When there are substantial differences we take notice and try to fix issues, but the difference between 7m operations per second and "only" 4m operations per second, it seems less crucial.  It's not that we won't listen.  If you put a proposal in front of us, we would certainly consider it; it's simply that it won't become a high priority issue.

Okay, I'll just try to collect all similar issues, issue it and show as a PR with performance and functional(API compliance) tests nearest days. Thank you!

Great!  Thank you very much.

After fine tuning of tests to make it more real using node (In particular new data generating randomly before each loop to avoid inlining), started to play with length of test inputs.
Сoncluded that effect of using different helpers methods is almost futile in cases of input.length>>10, approx. linear from slight advantage of handmade to equity at ~100-1000 and then light existing implement advantage (on the native slice()). In practice, carrying doesn't make any serious influence.
=> You are completely, 100% right (I just have proven it). I'll keep the eye on possible troubles and issues here, just making more competitive tests anytime before making a decision.
Thank you!
One of long input variants: http://jsperf.com/ramda-reverse/5

Thanks for checking into this.


Generate cleanup function with custom code

We use Ortac to test the implementation of Mirage_kv, a key-value store existing on a disk. To establish a connection to this disk, we utilise the interface of Mirage_block. If we highthen the number of QCheck tests, an excessive number of operations are sent to the disk, leading to blockages.
We would like Ortac to generate a cleanup function incorporating our cleanup function, Mirage_block.disconnect. This will allow the disk to take a breath and enable us to continue testing with a fresh disk.

Thanks for raising this issue :-)
Indeed we haven't tackle the question of the cleanup function asked for the STM.Spec module. For now, we are generating a dummy one as it is the most used when testing data structures.
This fall under the user-provided information, as we can't guess the body of the cleanup function.
So I would suggest to do something similar to the init_state function, but with an optional argument (as most of the time, the user will want the dummy function).

#214 proposes to move to a module-based configuration.
In this case, the user can add the cleanup function in the configuration module. If present, the generated code will use it, if absent ortac will generate the dummy one.


Always spell adapter with a e

Fixes https://github.com/neo4jrb/neo4j-core/issues/275
This pull introduces/changes:

changes spelling of adaptor to adapter (with an 'e') everywhere to match Faraday gem and standard US English

Pings:
@cheerfulstoic
@subvertallchris

Again, you may not want to do this, just putting it out there since it was a bit of a pain when switching back and forth with Faraday.

Coverage remained the same at 92.361% when pulling d8be441f9c78a3411991eb1c83d8f656658010cd on brucek:adapter_with_an_e into 7abe23c0bc7bd6d81cce6ddb5f28e70ee24a4e1b on neo4jrb:master.


update(README): steps to add monitor and executor image added

Signed-off-by: shubhamchaudhary<EMAIL_ADDRESS>
What this PR does / why we need it:

update readme - add Steps to get executor and monitor image from the engine spec

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Checklist

[ ] Does this PR have a corresponding GitHub issue?
[x] Have you included relevant README for the chaoslib/experiment with details?
[ ] Have you added debug messages where necessary?
[ ] Have you added task comments where necessary?
[ ] Have you tested the changes for possible failure conditions?
[ ] Have you provided the positive & negative test logs for the litmusbook execution?
[ ] Does the litmusbook ensure idempotency of cluster state?, i.e., is cluster restored to original state?
[ ] Have you used non-shell/command modules for Kubernetes tasks?
[ ] Have you (jinja) templatized custom scripts that is run by the litmusbook, if any?
[ ] Have you (jinja) templatized Kubernetes deployment manifests used by the litmusbook, if any?
[ ] Have you reused/created util functions instead of repeating tasks in the litmusbook?
[ ] Do the artifacts follow the appropriate directory structure?
[ ] Have you isolated storage (eg: OpenEBS) specific implementations, checks?
[ ] Have you isolated platform (eg: baremetal kubeadm/openshift/aws/gcloud) specific implementations, checks?
[ ] Are the ansible facts well defined? Is the scope explicitly set for playbook & included utils?
[ ] Have you ensured minimum/careful usage of shell utilities (awk, grep, sed, cut, xargs etc.,)?
[ ] Can the limtusbook be executed both from within & outside a container (configurable paths, no hardcode)?
[ ] Can you suggest the minimal resource requirements for the litmusbook execution?
[ ] Does the litmusbook job artifact carry comments/default options/range for the ENV tunables?
[ ] Has the litmusbooks been linted?

Special notes for your reviewer:

@shubhamchaudhary Can you check the codacy issue

@shubhamchaudhary Can you check the codacy issue

#901 issue resolved


Update sniffs handling function calls to allow for trailing commas after parameters

As of PHP 7.3, trailing commas are allowed after the last parameter in a function call + in the language constructs isset() and unset().
Unit tests for this should be added to the existing sniffs which examine (and fix) function calls and the sniffs will need to be reviewed to see if they handle this correctly and if not, adjusted.
Ref: https://wiki.php.net/rfc/trailing-comma-function-calls
N.B.: A sister-issue has been opened upstream for the same in upstream sniffs: https://github.com/squizlabs/PHP_CodeSniffer/issues/2030

The PHPCSUtils PassedParameters class handles this correctly, but it would still be good to add some tests in various sniffs with function calls with trailing commas.

All sniffs have been reviewed and fixed to support modern PHP in as far as my imagination reached.
If any more situations would be discovered which need to be taken into account, a new issue should be opened with code samples etc.
Closing this now as fixed.


maintain group order (workaround)

dynamic_reconfigure provides the groups as a dict and therefore the order in which the groups were defined is not maintained.
This is filed long time ago as an issue for dynamic_reconfigure, but I suggest the following workaround to cope with the current format:
Sort the groups by their id, before adding the group widgets:
diff --git a/src/rqt_reconfigure/param_groups.py b/src/rqt_reconfigure/param_groups.py
index 2428d40..aa4243d 100644
--- a/src/rqt_reconfigure/param_groups.py
+++ b/src/rqt_reconfigure/param_groups.py
@@ -191,7 +191,12 @@ class GroupWidget(QWidget):
                                               editor_type, i_debug, time_elap))
             i_debug += 1

-        for name, group in config['groups'].items():
+        # sort groups by id to maintain original order
+        grouplist = config['groups'].values()
+        grouplist.sort(key=lambda x: x['id'])
+
+        for group in grouplist:
+            name = group['name']
             if group['type'] == 'tab':
                 widget = TabGroup(self, self.updater, group, self._toplevel_treenode_name)
             elif group['type'] in _GROUP_TYPES.keys():

This sounds like a great workaround for the issue I filed against dynamic_reconfigure. Thanks for the suggestion!

Closed via #62


Switch anyOf to oneOf (discriminate union) as expected by JSON specification

Replaces #39
This PR fixes the union issues shown in the on-hover provider in VS Code.
Background/reasoning for the change can be found at https://github.com/pydantic/pydantic/issues/656. The tl;dr is that anyOf does not work well in a JSON schema. This leads to unexpected behaviour in on-hover information provided by the current schema.
Before
https://github.com/iterative/dvcyaml-schema/assets/37993418/9d5389d6-d64e-41ae-b46b-34a945418fab
After
https://github.com/iterative/dvcyaml-schema/assets/37993418/3e24f818-eea3-43e6-8dd4-a631695c9ea8

This might not be the best approach. Please LMK if you know of a better way around the issue. 🙏🏻

The tl;dr is that anyOf does not work well in a JSON schema. This leads to unexpected behaviour in on-hover information provided by the current schema.

@mattseddon is there a case where we still want anyOf?? I see that there are some left in the schema.
If not, maybe we can simplify this and apply a simple string replacement when dumping?:
json_str = json.dumps(
    DvcYamlModel.schema_json(), indent=2)
).replace("anyOf", "oneOF")
args.outfile.write(json)

The tl;dr is that anyOf does not work well in a JSON schema. This leads to unexpected behaviour in on-hover information provided by the current schema.

@mattseddon is there a case where we still want anyOf?? I see that there are some left in the schema.
If not, maybe we can simplify this and apply a simple string replacement when dumping?:
json_str = json.dumps(
    DvcYamlModel.schema_json(), indent=2)
).replace("anyOf", "oneOF")
args.outfile.write(json_str)

I don't think there is a good reason for keeping them at all. I'd be happy to switch to that approach. Just felt like the change that I made was a bit less of a hack but only by a tiny amount.

I don't think there is a good reason for keeping them at all. I'd be happy to switch to that approach. Just felt like the change that I made was a bit less of a hack but only by a tiny amount.

Yeah, I think it would be ok, we can just put a comment in the replace line. At least we would not be relying on pydantic internals that might break

Yeah, I think it would be ok, we can just put a comment in the replace line. At least we would not be relying on pydantic internals that might break

Made the change. LMK if you need anything else 🙏🏻.


example-python Application from Getting Started Docs Fails during 'draft up'

Action:
Tried executing example-python from the draft official documentation.
Expected Behaviour:
As specified in docs.
$ draft up
Draft Up Started: 'example-python'
example-python: Building Docker Image: SUCCESS ⚓  (73.0991s)
example-python: Pushing Docker Image: SUCCESS ⚓  (69.1425s)
example-python: Releasing Application: SUCCESS ⚓  (0.6875s)
example-python: Build ID: 01BSY5R8J45QHG9D3B17PAXMGN

Actual Behaviour:
Draft up fails with the following error.
~/draft/examples/example-python  : $ draft up
Draft Up Started: 'pilfering-lemur'
pilfering-lemur: Building Docker Image: FAIL ❌  (0.9986s)
pilfering-lemur: Build ID: 01BZXQA6YMN0R0E780R4WPX0N5

Additional Info:
~/ : $ draft version
Client: &version.Version{SemVer:"v0.8.0", GitCommit:"6edb87f6e85d019fc3f708d31ca76270b765a9b0", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v0.8.0", GitCommit:"6edb87f6e85d019fc3f708d31ca76270b765a9b0", GitTreeState:"clean"}

~/ : $ docker version
Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:40:09 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:45:38 2017
 OS/Arch:      linux/amd64
 Experimental: true

Hey @aananthraj! Would you mind posting the output from draft logs? Thanks!

Thanks for the prompt response @bacongobbler.
The issue was with docker registry URL , where i accidentally added my docker username with the URL. It resulted in the following error.
buildApp: buildImg error: Error response from daemon: invalid reference format: repository name must be lowercase

The issue is resolved now . Thanks for pointing the logs feature in draft.
will close this issue now.

For anyone else getting here from Google: I got that same repository name must be lowercase issue when I had run draft init on a minikube cluster for which I had not yet run minikube addons enable registry. I'm not sure why the nonexistent registry URL contained upper case characters, but in any event running minikube addons enable registry followed by another draft init resolved the issue.

@iameli thanks for the report. We’re following up with that issue in #356.

I ran draft logs, and determined that the VPN connection was blocking incoming traffic.  I took down the firewall VPN, and then ran minikube addons enable registry followed by another draft init resolved the issue.

@quantum-fusion - did you mean to post the last comment on #776 by any chance?

Yes, I ran through your steps, and even after adding @iameli recommendations for minikube addons enable registry.
See #776 for the full transcript, because it still generates an error and times out.
% draft connect
Error: cannot get pod with buildID 01CE6JAGCZTP5F1FNJY1S2DFB6: timed out


x1032Add user full name to Release Recipient

@sabrine33 Please check the edits I've made seem reasonable

Hi @khelwood , Thank you updating the PR, one minor thing to consider is whether it's necessary to require non-null value for the full name property.  From my perspective, since the field can be blank at creation, it might be beneficial to allow it to remain blank during updates.


Bug report: cannot save animation after exporting

I imported a vrm model, added some keyframes and exported it as another vrm file. However, when I reopened it, the keyframes did not exisit and only the first frame was saved.
But the animation was correctly saved when I used the sample models(AvatarSample_A, B, C) from vroid studio. I wonder that is it related to some license issue?

I converted specification from vrm0 to vrm1 and solved the issue

Exporting animations in VRM0 is not supported.
VRM0 requires the normalization of bones, and the normalization of animations must also be performed at the same time. For this reason, exporting animations requires full implementation, and the implementation cost is very high. For this reason, even if it is implemented, it will be a long way off in the future.


Various SQLite fixes:

Use suffix option when dropping a database
Handle dropping a memory database
Allow the use of the suffix and memory options in tests
Fix trivially failing tests in Windows
Make memory option a proper boolean check
Slight coverage improvement by simplifying trivial string-to-array conversions

Tests still fail in Windows when using a file-backed database (you can't unlink an open database in Windows), but I have more important problems I want to tackle first. ;)

Thanks, this is really good!

Thanks, this is really good!

Thanks. More to come, if you're interested.

100% interested


Added optional support for setting global hooks in the browser during setup

Example:
mocha.setup('bdd', {
  fail: function(test) { console.log(test); },
  end: function(status) { console.log(status); }
});

mocha.run();

Useful for custom actions on success/failure/completion such as sending status to the server when auto-running a suite in multiple browsers

i'd rather just expose the runner so you can listen on any event without any duplicate effort

Yes, I thought about that too, but I also wanted pass along the Base.stats to the end function, but then you'd have to expose some more ugly bits too and end up with more complex api.
Any suggestions?

Of course this commit will work for any event on the runner.

IMO mocha.run() should return the Runner, and should be passed the the reporter, defaulting to HTML like it is right now, so you would do:
var reporter = new mocha.reporters.HTML;
var runner = mocha.run(reporter);

runner.on('whatever, dosomerthingwithreporter);

mocha.run() now returns the runner


HAWQ-382. Adjust combined workload index in resource pool in different situations

This fix it to make combined workload index maintained well when consuming resource, mark segment up/down, etc.

Looks good.

LGTM. +1


Can a OpenSSL release that contains PR's that exist in master but not in the 3.0.X  branch be created?

If there was a 3.1 branch that was based off of 3.0 then it may need to consider some of the following differences.
(The list is still a work in progress - but does give an indication of the changes)..
Using a filter search of
is:pr  is:closed label:"branch: master" -label:"branch: 3.0"

Performance Regressions:
https://github.com/openssl/openssl/pull/17862 Fix IV length caching in EVP encryption code
https://github.com/openssl/openssl/pull/17881 Refactor OSSL_LIB_CTX to avoid using CRYPTO_EX_DATA
https://github.com/openssl/openssl/pull/17921 Decoder resolution performance optimizations
https://github.com/openssl/openssl/pull/18105  evp_md_init_internal: Avoid reallocating algctx if digest unchanged
https://github.com/openssl/openssl/pull/18267 Make IV/buf in prov_cipher_ctx_st aligned
https://github.com/openssl/openssl/pull/18341 ossl_namemap_name2_num: Avoid OPENSSL_strndup()
https://github.com/openssl/openssl/pull/18354 improve ossl_lh_strcasehash
Other Performance
https://github.com/openssl/openssl/pull/17544 Simpler square-root computation for Ed25519
https://github.com/openssl/openssl/pull/17325 property: use a stack to efficiently convert index to string
Other things that need to be considered:
https://github.com/openssl/openssl/pull/16760 Change the default Security Level to 2
https://github.com/openssl/openssl/pull/17153 check the return value of EVP_MD_fetch in ecdh_exch.c & dh_exch.c
https://github.com/openssl/openssl/pull/17474 Use ERR upcalls in legacy provider
https://github.com/openssl/openssl/pull/17733  enable CMS sign/verify for provider-implemented PKEYs
https://github.com/openssl/openssl/pull/17873 Fix bug in scrypt KDF provider dup method (There is no dup in the 3.X branch – should there be?)
https://github.com/openssl/openssl/pull/17572 Add context dup functions for KDFs
https://github.com/openssl/openssl/pull/17529 Add missing cipher and digest context dup functions
https://github.com/openssl/openssl/pull/17997 OSSL_PARAM_get_*_ptr: Drop errors from ptr/string mismatch
https://github.com/openssl/openssl/pull/18054 s390: Add new machine generation
https://github.com/openssl/openssl/pull/18127 Fix gcc 6.3 builds of aarch64 BSAES
https://github.com/openssl/openssl/pull/18131 Move types.h #undefs for wincrypt.h compatibility
https://github.com/openssl/openssl/pull/18224/ evp_md: assert digest is provided for algctx reuse
https://github.com/openssl/openssl/pull/18236 tls: ban SSL3, TLS1, TLS1.1 and DTLS1.0 at security level one and above (this would not cherry pick nicely).
https://github.com/openssl/openssl/pull/18627 put_str: Use memcpy instead of strncpy (fix for latest gcc)
Probably not these Features:??
https://github.com/openssl/openssl/pull/16594 Keccak
https://github.com/openssl/openssl/pull/18794 Keccak implementation fix for s390

https://github.com/openssl/openssl/issues/16791 also contains links to some performance improvements, but the first glance looks like they are covered.

marking as inactive, will be closed at the end of 3.4 dev barring further discussoins


Apollo: cached/public queries do not return data after nhost.auth.signOut()

Describe the bug
I have this query, with public permissions, that is run (with Apollo's useQuery) while not being logged in.
Then after I sign in and then sign out, that query is no longer returning data and hangs in a loading state.
When I disable this line in the @nhost/react-apollo pacakge, the public query returns data normally after a signOut().
However, queries that require an access token obviously no longer work.
Am I perhaps on the trail of a possible bug? Or is this just an implementation error on my side.
Here's a screen recording that shows the issue in more detail:
https://www.dropbox.com/scl/fi/ii4hke3k9tjqtavpw28z4/2023.10.04-Nhost-apollo-cache-issue.mp4?rlkey=ofdkga3skgvwvb277a52x6nzw&dl=0
To Reproduce
Steps to reproduce the behavior:

Make sure you are logged out
Do a simple query using useQuery
Do a sign in
Do a sign out
Go to the page with the simple query (from step 2) and see that the query is not returning data.

Expected behavior
useQuery should return data after a nhost.auth.signOut().
Packages information

@apollo/client: 3.8.4
@nhost/nextjs: 13.37
@nhost/nhost-js: 2.2.16
@nhost/react: 2.0.31
@nhost/react-apollo: 5.0.35

@st3phan, thank you for reporting this.
I've created a small prototype on my end, and it appears to be functioning correctly. Could you please provide a link to a repository where I can take a closer look? It's possible that there may be an implementation error that I can help identify.

Here's a repo with the bare minimum, that also has the same issue.
https://github.com/st3phan/nhost-issue-2297
I'm talking to a local nhost instance with auth version 0.21.2.
https://github.com/nhost/nhost/assets/416652/eb6e1ade-dd83-4e76-89f5-f69e84ad972c

I confirm that<EMAIL_ADDRESS>fixes this issue 👍


Fix inheritance issue

There was an issue with inheritance: when passing instances of Telegram::Bot::Types::InlineKeyboardMarkup (e.g.) descendants, it failed to jsonify objects.

Hi! Just curious, what's a point of inheriting from Telegram::Bot::Types::InlineKeyboardMarkup?

I needed to override the initializer: https://github.com/centosadmin/redmine_intouch/blob/a51cc5420c3cc93175acee64f44ceba1690aee3f/lib/intouch/preview/keyboard_markup.rb
Also, in general this change is intended to satisfy Liskov substitution principle: "if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of the program"


[Storage] Fix logic bugs in streamToBuffer2()

The utility function streamToBuffer2() had two logic bugs:

If pos == bufferSize, and the next call to stream.read() would return null, the method should succeed rather than fail.  This is covered by the test cases where streamType == test and buffer.length == stream.length.

https://github.com/Azure/azure-sdk-for-js/blob/9da9f89ae29e2c233b8fc6530c2667eb95c40d52/sdk/storage/storage-blob/src/utils/utils.node.ts#L86-L94

If the last chunk exceeded the remaining size in the buffer, it would be sliced and the method would succeed, however it should throw since the buffer was too small.  This is covered by the test cases where buffer.length < stream.length.

https://github.com/Azure/azure-sdk-for-js/blob/9da9f89ae29e2c233b8fc6530c2667eb95c40d52/sdk/storage/storage-blob/src/utils/utils.node.ts#L99-L102
The tests use two different readable streams.  TestReadableStream and PassThrough raise events slightly differently.  PassThrough only raises the readable event once, while TestReadableStream raises it multiple times:
[passthrough] on(readable)
[passthrough] read(): 1024
[passthrough] read(): null
[passthrough] end

[test] on(readable)
[test] read(): 1024
[test] read(): null
[test] on(readable)
[test] read(): null
[test] end

I'm not sure why this behavior is different, but streamToBuffer2() should support both.

Fixes #7077

/azp run js - storage-blob - tests

/azp run js - storage-blob - tests

Looks good to me.  There's another copy of streamToBuffer2() in storage/storage-file-datalake/src/utils/utils.node.ts. Please update it as well (I know it is not ideal to not share common code in a library but it was decided to better include copy of code than introduce another dependency.)

introduce another dependency.

This sounds like a great idea, and since this is definitely not limited to storage..
how about a new library @azure/core-utils?

/azp run js - storage-blob - tests

@jeremymeng: I have updated the second copy of streamToBuffer2(), and also created an issue to remove the duplicate code (https://github.com/Azure/azure-sdk-for-js/issues/7385).  In the long run, it's always better to remove duplicate code, even if it means adding another dependency.

@XiaoningLiu: Can you please review this change?


Feature Request: Copy to clipboard tool

Description
I want to request the addition of a copy to the clipboard tool in the ReadmeEase project.
Motivation

What is the motivation behind this feature request?
Many users find it helpful to quickly copy the content to their clipboard. By adding a copy to the clipboard tool in ReadmeEase, users can easily copy content from the readme files without having to manually select and copy it.

How will it benefit the project or its users?
The addition of a copy to the clipboard tool will improve the usability and convenience of ReadmeEase, making it a more user-friendly tool for reading and sharing readme files.

Reference: fe92b263e14fb58181658eb096d7bdb9f4d58b22


Add index  in group elements path in recursive comparison

Summary
When a list element differ, the recursive comparison does not specify which index the element was.

Fixed in 78dbcfb3


Issue with Chrome and IE

Hello there,
I'm having some weird issues with Chrome and IE. My app works on firefox only at the moment :
Here is the error I got in console with Chrome :
Uncaught TypeError: this.options.svg.createSVGMatrix is not a function
ShadowViewport.getCTM @ svg-pan-zoom.js:367
ShadowViewport.processCTM @ svg-pan-zoom.js:277
ShadowViewport.init @ svg-pan-zoom.js:207
ShadowViewport @ svg-pan-zoom.js:179
module.exports @ svg-pan-zoom.js:501
SvgPanZoom.init @ svg-pan-zoom.js:556
SvgPanZoom @ svg-pan-zoom.js:512
svgPanZoom @ svg-pan-zoom.js:1285
window.onload @ viewerController.js:182

This is the corresponding lines of the error :
    ShadowViewport.prototype.getCTM = function() {
        var safeCTM = this.options.svg.createSVGMatrix() // line 367
   //     var safeCTM = new Object()
        // Copy values manually as in FF they are not itterable
        safeCTM.a = this.activeState.zoom
        safeCTM.b = 0
        safeCTM.c = 0
        safeCTM.d = this.activeState.zoom
        safeCTM.e = this.activeState.x
        safeCTM.f = this.activeState.y

        return safeCTM
    }

So I tried to initialize the variable safeCTM as an object manuelly instead of calling createSVGMatrix(), since every values are set in the function anyway (I think).
But when I do that I get this error instead :
Error: Invalid value for <g> attribute transform="matrix(Infinity,0,0,Infinity,NaN,NaN)"
module.exports.setCTM @ svg-pan-zoom.js:1446
ShadowViewport.updateCTM @ svg-pan-zoom.js:494
module.exports.proxy @ svg-pan-zoom.js:1763

Now the error with IE :
SCRIPT5007: Unable to get the value of the property  « documentElement » : null or undefined object
svg-pan-zoom.js, line 1737 character 21

And the corresponding code : (I put the whole function to give a more accurate idea of where this is, the line causing the error has a comment with the number of the line)
, getSvg: function(elementOrSelector) {
            var element
                , svg;

            if (!this.isElement(elementOrSelector)) {
                // If selector provided
                if (typeof elementOrSelector === 'string' || elementOrSelector instanceof String) {
                    // Try to find the element
                    element = document.querySelector(elementOrSelector)

                    if (!element) {
                        throw new Error('Provided selector did not find any elements. Selector: ' + elementOrSelector)
                        return null
                    }
                } else {
                    throw new Error('Provided selector is not an HTML object nor String')
                    return null
                }
            } else {
                element = elementOrSelector
            }

            if (element.tagName.toLowerCase() === 'svg') {
                svg = element;
            } else {
                if (element.tagName.toLowerCase() === 'object') {
                    svg = element.contentDocument.documentElement; // line 1737
                } else {
                    if (element.tagName.toLowerCase() === 'embed') {
                        svg = element.getSVGDocument().documentElement;
                    } else {
                        if (element.tagName.toLowerCase() === 'img') {
                            throw new Error('Cannot script an SVG in an "img" element. Please use an "object" element or an in-line SVG.');
                        } else {
                            throw new Error('Cannot get SVG.');
                        }
                        return null
                    }
                }
            }

            return svg
        }

So I don't really know what's going on there. Any help would be appreciated.
Regards

I suppose you initialize the library with wrong options.
Please provide a live example (as mentioned here). When you'll do so I'll reopen this issue.

Ok, so I managed to make it work on Plunker, however, it works as expected only in the embedded view : http://embed.plnkr.co/0nufcYZpE3ZzGxKQmUkf/preview
This is working on Chrome with this url, but when you download the zip and run it locally, it works only on firefox...
Also, I need to click twice on the menu to change properly but this is another issue that I already opened on stackoverflow (http://stackoverflow.com/questions/29518756/losing-zoom-pan-when-changing-svg-source)

Now, since I added something to handle resizing :
window.onload = function() {
    document.getElementById("svgElement").style.width = window.screen.availWidth + "px";
    document.getElementById("svgElement").style.height = window.screen.availHeight + "px";
    window.panZoom = svgPanZoom('#svgElement', {
        zoomEnabled: true,
        controlIconsEnabled: true,
        fit: true,
        center: true,
        minZoom: 0.75,
        maxZoom: 50,
        zoomScaleSensitivity: 0.25,
        dblClickZoomEnabled: true
    });
};

window.onresize = function(){
    window.panZoom.resize();
    window.panZoom.fit();
    window.panZoom.center();

    var scope = angular.element(document.getElementById("svgElement")).scope();
    scope.$apply(function(){
        scope.bannerHeight = window.innerHeight * 0.2;
    })

};

I have now in console (on Chrome) :
Uncaught TypeError: this.options.svg.createSVGMatrix is not a function
Uncaught TypeError: Cannot read property 'resize' of undefined

So it looks like my :  window.panZoom = svgPanZoom(...); failed.

I added a few logs in order to understand better what is going wrong.
I hope this might help :
So first :

Result in Firefox :

Result in Chrome :

Then :

Result in Firefox :

Result in Chrome :

And finally :

Result in Firefox :

Result in Chrome :

And indeed, Chrome values look wrong.
From what I understand, this.options.svg is displayed as a SVG element in Firefox while it is showed as a html element in Chrome.

Yes, it seems that selected element in Chrome is HMTL (root dom element). Either you did the selection wrong, or there is something about selection timing vs SVG creation timing.

This might be related : when I try to run the zip i downloaded from the plunker I get this error in Chrome console :
Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement': Blocked a frame with origin "null" from accessing a frame with origin "null".  The frame requesting access has a protocol of "file", the frame being accessed has a protocol of "data". Protocols must match.
module.exports.getSvg @ svg-pan-zoom.js:1738
svgPanZoom @ svg-pan-zoom.js:1271
window.onload @ viewerController.js:81

For some mystic reason, it worked one time on Chrome. Then I refreshed my page and it didn't work anymore. So the suggestion about timing that you made might be correct.
The logs I had on Chrome the one time it worked :
elementOrSelector : #svgElement
element : [object HTMLObjectElement]
element.contentDocument : [object XMLDocument]

The only difference with Firefox is that we have an XMLDocument instead of a SVGDocument in the object.
Now I'm back with the element.contentDocument : [object HTMLDocument]
Also, to check if the SVG element is wrong from the beginning I tried in the very first called function :
    var SvgPanZoom = function(svg, options) {
        console.log("SVG : " + svg);
        this.init(svg, options)
    }

which gives :
in Chrome : SVG : [object HTMLHtmlElement]
in Firefox : SVG : [object SVGSVGElement]
So yeah I have HTML instead of SVG from the beginning. I don't know if it is related to the same-origin policy that I mentioned in the last comment I edited.

Maybe it is because your SVG (object) is invalid in Chrome because its data attribute points to nowhere.
I do remember that in Angular there is a special way to handle dynamic images by using ng-src instead of src because you may have some problems by setting an invalid source. It may be the same case here.

It looks like you're right.
In this code :
<object id="svgElement" type="image/svg+xml" data="../SVG/{{currentLanguage}}/{{currentCartography}}.svg">
    It seems your browser doesn't support SVG.
</object>

You mean that since angular scope variables such as currentLanguage and currentCartography aren't yet initialized after the DOM is loaded, Chrome refuses to 'accept' the <object> ?
Indeed, if I set a static path into my data attribute, it works in Chrome.
Could it also be the reason why I need to click twice to change a SVG ?
And is there any way you know of to force angular scope variables to be loaded before the html page ?

I don't know how to force angular scope variables to be loaded before the html page. I do believe that it is not possible.
But one solution would be to not rely on angular variables to change the object and do it manually whenever you need it. An example is available here.

Well, managed to fix it in Chrome with
<!-- SVG : main content -->
<object ng-show="currentCartography" id="svgElement" type="image/svg+xml" data="../SVG/{{currentLanguage}}/{{currentCartography}}.svg">
    It seems your browser doesn't fully support SVG.
</object>

However, this fix doesn't work on IE. But this is not a priority for me now.

I am having this same problem using Chrome to use this svgPanZoom on an SVG within an .  It works on Firefox, and the only other difference is that I am not using Angular.  I don't understand what your fix was for Chrome.


Powershell Commands for V2 Flow Logs

I am not seeing an updated PS command for set-azurermnetworkwatcherconfigflowlog that includes the option to use v2 for flow logs. Is this still unsupported via PS?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bd699dac-d6e5-5a39-624f-2d3f77f92fca
Version Independent ID: c922bcd2-0778-a7af-4855-1bff6c9ce380
Content: Introduction to flow logging for network security groups with Azure Network Watcher
Content Source: articles/network-watcher/network-watcher-nsg-flow-logging-overview.md
Service: network-watcher
GitHub Login: @jimdial
Microsoft Alias: jdial

@bbabcock1990 can you post a link to the document you are referring to?

I am referring to this article around NSG Flow logs:
https://docs.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-overview
I am trying to enable flow logs V2 with powershell using this command:
https://docs.microsoft.com/en-us/powershell/module/azurerm.network/set-azurermnetworkwatcherconfigflowlog?view=azurermps-6.13.0
I wasnt sure if the commands have been updated to reflect v2?

I am not able to find a way to set V2 using PowerShell. Let me follow up with this.

@bbabcock1990 You can set V2 logs in PowerShell by following this doc. It gives both V1 and V2 commands.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Ensure that the output file list does not contain duplicates

NOTE: duplicates were being added to the list due to task retries

LGTM


Windows C:\ProgramData\Netbird directory/files permissions

Describe the problem
The Windows C:\ProgramData\Netbird directory (and contained files) permissions seems to be too wide.
The config.json file seems to have a private key (in the .PrivateKey and SSHKey properties), which should only be readable by the the netbird service (and probably SYSTEM and Administrators), but not by all the machine users (the Users group).
For reference, these are the current permissions that I can see in my machine, and they should not contain the BUILTIN\Users entry :
C:\> Get-Acl C:\programdata\Netbird\ | Format-List

Path   : Microsoft.PowerShell.Core\FileSystem::C:\ProgramData\Netbird\
Owner  : BUILTIN\Administrators
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         CREATOR OWNER Allow  268435456
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
         BUILTIN\Users Allow  Write
Audit  :
Sddl   : O:BAG:SYD:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIIOID;GA;;;CO)(A;OICIID;0x1200a9;;;BU)(A;CIID;DCLCRPCR;;;BU)

C:\> Get-Acl C:\programdata\Netbird\config.json | Format-List

Path   : Microsoft.PowerShell.Core\FileSystem::C:\programdata\Netbird\config.json
Owner  : BUILTIN\Administrators
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
Audit  :
Sddl   : O:BAG:SYD:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;0x1200a9;;;BU)

Thanks for submitting the issue @rgl; we will have to check that as we are using permission 0750, which on Linux/Unix should give RO permissions to the groups to which the user that created the file belongs to.

I reported this as an security issue: https://github.com/netbirdio/netbird/security/advisories/GHSA-pjm7-gvv8-7xwr
Summary
The config file containing the private key can be read / viewed by any unprivileged local user and doesn't require local admin permissions so the key seems to be not protected!
The Windows service runs as "Local System" and no one else should be able to read the file!
Details
Config file: $env:ProgramData\Netbird\config.json
The file has inherited permissions of c:\ProgramData which by default grands any user read access!
On macOS the file can't be read by normal users!
Impact
Unprivileged users or process can steal sensitive information like the private key.
Fix
Disable file system permission inheritance of %programdata% for the folder %programdata%\netbird
grant permissions only to: SYSTEM

I fix this in my POC deployment scripts using PowerShell:
`$directory = "$env:ProgramData\Netbird"
Disable file system inheritance
$inheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::None
$propagationFlag = [System.Security.AccessControl.PropagationFlags]::NoPropagateInherit
$acl = Get-Acl $directory
$acl.SetAccessRuleProtection($true, $inheritanceFlag)
Grant SYSTEM full control
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("SYSTEM", "FullControl", $inheritanceFlag, $propagationFlag, "Allow")
$acl.AddAccessRule($rule)
Set-Acl $directory $acl
Grant users list directory permission
$group = "Users"
$permission = "ListDirectory"
$acl = Get-Acl -Path $directory
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($group, $permission, "ContainerInherit,ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Set-Acl -Path $directory -AclObject $acl`

resolved in 0.29.3 by the PR https://github.com/netbirdio/netbird/pull/2568.

I think it would be better to replace the permissions on every install / update.
I just checked two installations (MSI & EXE) and it won't fix already too open permissions

@florian-obradovic Can you open a new issue for it?
we will need to have a look since the fix should be doing that when you upgrade the version

@florian-obradovic Can you open a new issue for it?
we will need to have a look since the fix should be doing that when you upgrade the version

Done: #2614


Add Token Usage Reporting Feature to CLI Tool

Incorporate a new command-line flag to report token usage statistics for LLM interactions in the CLI tool. This feature will help users understand how many tokens are sent and received in each request/response, which is crucial for managing token budgets and debugging.
Current Behavior:
The CLI tool currently does not provide any information about token usage.
Desired Behavior:
When the --token-usage or -t flag is used, the tool should also output detailed token usage information to stderr in addition to its regular output. This information should include:

prompt_tokens: Number of tokens in the prompt
completion_tokens: Number of tokens in the generated completion
total_tokens: Total number of tokens used (sum of prompt_tokens and completion_tokens)

This also requires updating the README.md file for the purposes of documentation.

@hpatel292-seneca , I have sent in a PR (#17) to fix this change and it is ready for you to review.


Click should provide means to customize write

Sometimes the output machinery embedded in click is not desirable. At least the function that performs write should be customizable to give a user a chance to handle and process all errors that may happen.

This is not very specific. Could you name a particular situation where the current behavior is undesirable?

With current design it's impossible to control how errors are being handled in echo and all other functions that end up using it.
In particular, we have a problem when message cannot be represented in latin-1. Since this is part of the output that must be printed and never cause an exception (at least not due to encoding) I need to customize the behavior. In particular, I'd change from:
if message:
    file.write(message)

to:
if message:
    try:
        file.write(message)
    except UnicodeEncodeError as e:
        file.write(message.encode(e.encoding, errors='backslashreplace').decode(e.encoding))

(I'm using Python 3, Python 2 compatibility may require adjustments)

If you encounter encoding errors like that you really should set your system locale to a correct (i.e. UTF-8) value.

@untitaker Not always you can control the encoding of stdout. And that's a different (and not a simple) story of why it's that restricted in my case.
My point is that you can have a UTF-16-only string and you may want to still print it (handling arbitrary logging, data stream, whatever?) even when you have crippled 'latin-1'. Granted, one could use custom printing, but then it'll require to give up all the conveniences of click.

Hello, I think errors should use replace instead of backslashreplace.
In python2, echo prints ? at #705 .

We could provide a possibility for the user to replace click.echo with a custom function (that lives on the context), but stuff like #757 is not sensible.

sys.stdout.encoding returns system default encoding of stdout by default.

I am talking about backslashreplace, not the encoding.

Is it possible to add errors argument to echo function?
Or should not do this for backward compatibility?
click.echo(message, file, nl, errors="strict", error, color)

Sure, but that solves only a subset of all problems. It doesn't affect echo()
calls outside of your code.
On Thu, Mar 30, 2017 at 06:34:25AM -0700, KiYugadgeter wrote:

Is it possible to add errors argument to echo function?
Or should not do this for backward compatibility?
click.echo(message, file, nl, errors="strict", error, color)

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/pallets/click/issues/756#issuecomment-290412014

errors argument should passed when create a new Command object?
click.Command(name, context_settings=None, callback=None, params=None, errors="restrict", help=None, epilog=None, short_help=None, options_metavar='[OPTIONS]', add_help_option=True)

I already made my proposal to have a variable on the context for this above.
On Thu, Mar 30, 2017 at 06:49:27AM -0700, KiYugadgeter wrote:

errors argument should passed when create a new Command object?
click.Command(name, context_settings=None, callback=None, params=None, errors="restrict", help=None, epilog=None, short_help=None, options_metavar='[OPTIONS]', add_help_option=True)

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/pallets/click/issues/756#issuecomment-290416272

Thanks!
I am python beginner.
Would you mind describing about your proposal?

replace is bad, because it's not lossless. With backslashreplace data can be later processed and restored.
Replacing echo is fine, but default echo should be available through public interface so it can be called from custom implementation.

@Kentzo I agree it,  data resiliency was lacked in my point.

backslashreplace also mangles data, it is not a good default.

@untitaker Hmm, could you give me an example of mangling that cannot be recovered?

It mangles data in the sense that it converts it into a format that isn't expected. Technically it's not mangling, but if you follow down that road, some forms of mojibake would acceptable as long as they're reversible.

@untitaker Could you give me some direction of how I would address it in an acceptable way?

I am not entirely sure, but it might be a good idea to make click.echo use get_current_context(), then check whether there's a replacement function for click.echo defined on that context, and use it.
I'd like to get more input from other maintainers on this, cc @ThiefMaster @mitsuhiko @davidism

Are there any particular steps that can be made with the up to date version of click?

I don't want to go down the path of adding function overrides to the context right now. If you're having issues with output, open a specific issue. Note that you can echo bytes, so if you have a weird string that you want to output, encode it to bytes then pass that to echo.


Use organization webhooks to re-run Conform PR

We want our Conform PR GitHub Action to check PR's Project fields after they are updated, but there is no such event to trigger an Action run. That's because Projects v2 are organization-scoped, and Actions are repository-scoped.
The solution is to install an organization webhook to receive Project v2 events, find matching PR, and schedule a new Conform PR run.
Let's create a simple service for it. It should use packages we already use (github.com/google/go-github and github.com/shurcooL/githubv4); it should not use any web or API framework. It should receive incoming webhooks, validate them by checking the signature, check secrets, ~find matching PR and schedule a new Conform PR run~ and just log them for now.
Webhook example:
X-Github-Event: projects_v2_item
X-Hub-Signature: sha1=5d9d657f2244700cab8e7996af2ce3ef476d5016
X-Hub-Signature-256: sha256=9c23e56fdae920dc6eb3754cd4f4272e1909b24da6d4ec3440684a6906d28051

{
    "action": "edited",
    "projects_v2_item": {
        "id": 8420853,
        "node_id": "PVTI_lADOBay1Kc4AEwi9zgCAffU",
        "project_node_id": "PVT_kwDOBay1Kc4AEwi9",
        "content_node_id": "PR_kwDOGfwnTc48u60R",
        "content_type": "PullRequest",
        "creator": {
            "login": "AlekSi",
            "id": 11512,
            "node_id": "MDQ6VXNlcjExNTEy"
        },
        "created_at": "2022-08-09T20:36:46Z",
        "updated_at": "2022-08-19T17:46:58Z",
        "archived_at": null
    },
    "changes": {
        "field_value": {
            "field_node_id": "PVTSSF_lADOBay1Kc4AEwi9zgCzrKM",
            "field_type": "single_select"
        }
    },
    "organization": {
        "login": "FerretDB",
        "id": 95204649,
        "node_id": "O_kgDOBay1KQ"
    },
    "sender": {
        "login": "AlekSi",
        "id": 11512,
        "node_id": "MDQ6VXNlcjExNTEy"
    }
}

The PR in question is #85.

I created a http server to listen to incoming webhook events. I though there was github api which we could subscribe to the incoming webhook, but I didn't find one.
I followed setting up a local server to listen to incoming webhook request.  This server has to be public, I used ngrok to expose the http. So we'll need a server to watch incoming webhook events.
The webhook configuration is simple, you need to provide Payload URL and this is the one that has to be public. I used what I previously setup using ngrok. Also you can set up a secret during this step.

Then you configure the webhook for project v2 item events.


properties: Use key, value for token names, attr-... as aliases

This PR replaces attr-name and attr-value with key and value, and uses attr-... as aliases instead.
Overall, this brings properties in line with similar languages (INI, editorconfig, systemd...).

Thank you for the PR @hoonweiting!
I think that was the last config-type language with that problem, right?

I'm not really sure to be honest! I was just looking at the list of languages that haven't been completed, so I might have missed out on some config-type languages.
I'm looking at another language right now, but I'll go through the list again another day to check if there are more config-type languages! :)

Thank you!


[edited] We added PageRoute argument into CustomTransition.buildTransition

We added PageRoute argument into CustomTransition.buildTransition. This provides a complex way to create custom transitions
There is no elements to change at README.md
Pre-launch Checklist

[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or @jonataslaw said the PR is test-exempt.
[x] All existing and new tests are passing.

#1818 solved

Thanks!
I'm just going to make sure that someone who has extended CustomTransitions doesn't break, if so I'll have to send this PR for GetX version 5

@jonataslaw Need merger for testing.


chore(public): remove getNullifierMembershipWitness

Remove getNullifierMembershipWitness oracle implementation from PUBLIC since it should not be used there. Nullifier checks are done through checkNullifierExists.

#5715  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @fcarreiro and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

note_successful_decrypting_time_in_ms (8): 241 (+53%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772
772
772

l1_rollup_calldata_gas
6,796
6,784
6,808

l1_rollup_execution_gas
587,277
587,265
587,289

l2_block_processing_time_in_ms
1,298
4,703
9,037

note_successful_decrypting_time_in_ms
:warning: 241 (+53%)
453 (-8%)
897 (-6%)

note_trial_decrypting_time_in_ms
45.5 (-26%)
58.9 (-40%)
114 (+66%)

l2_block_building_time_in_ms
10,282 (-3%)
36,554 (-3%)
72,308 (-2%)

l2_block_rollup_simulation_time_in_ms
10,170 (-3%)
36,160 (-3%)
71,572 (-2%)

l2_block_public_tx_process_time_in_ms
4,909 (-3%)
19,295 (-3%)
38,477 (-3%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,190 (+2%)
26,759 (-4%)

note_history_successful_decrypting_time_in_ms
1,173 (+3%)
2,191 (+2%)

note_history_trial_decrypting_time_in_ms
41.5 (+11%)
119 (+65%)

node_database_size_in_bytes
18,755,664
35,188,816

pxe_database_size_in_bytes
29,859
59,414

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
141 (-3%)
44,561
26,424

private-kernel-inner
151 (-3%)
72,188
26,424

private-kernel-ordering
105 (-3%)
51,090
39,297

base-parity
3,840 (-2%)
128
311

root-parity
1,051
1,244
311

base-rollup
12,934 (-2%)
110,820
957

root-rollup
48.5 (-1%)
4,551
821

public-kernel-app-logic
80.9 (-3%)
48,151
40,933

public-kernel-tail
119 (-2%)
53,644
7,385

merge-rollup
10.9 (+7%)
2,760
957

public-kernel-teardown
78.2
48,151
40,933

public-kernel-setup
77.2
48,151
40,933

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
9.78 (-2%)
15.6 (-3%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.570 (-2%)
0.482 (-3%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
44.7 (-3%)
71.2 (-2%)
225 (-2%)
433 (-4%)
841 (-4%)
1,755 (+1%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.458 (-3%)
0.439 (-2%)
0.409 (-3%)
0.403 (-4%)
0.399 (-3%)
0.419 (+1%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
52.9 (-2%)
105 (-2%)
326 (-4%)
643 (-3%)
1,265 (-3%)
2,541 (-3%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.467 (-3%)
0.473 (-2%)
0.443 (-4%)
0.442 (-3%)
0.439 (-3%)
0.442 (-3%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
59.5 (-3%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.519 (-3%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
41,005
528,889

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
905
1,161
1,377

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,122
742 (-3%)
3,359 (-1%)

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
428 (-2%)
295
752
382 (+1%)
1,221
451

Merge activity

Apr 12, 9:07 AM EDT: @fcarreiro merged this pull request with Graphite.


Inconsistent exposure setting

Required Info

Camera Model
4 x D435i

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 18.04

Kernel Version (Linux Only)
5.3.62

Platform
PC

SDK Version
2.41

Language
C++

Segment
{Robot

Issue Description
We're running multiple D435is with a 2-stop Neutral Density filter on each infrared camera. It appears when 2 cameras are looking at the same scene, the exposure is vastly different between them when then scene is bright, as the scene gets darker the exposure level equalizes. The graph below shows the 2 right cameras that are brighter with higher exposure and the left which are darker with lower exposure.

Hi @fiorano10  It would be best to focus the discussion on https://github.com/IntelRealSense/librealsense/issues/8129 where your case is already being handled and has the attention of Intel RealSense team members.  We could leave this new post up for a time to see whether other RealSense users report similar symptoms to yours though.

Hi @fiorano10   Although the related case https://github.com/IntelRealSense/librealsense/issues/8129 was closed, can you confirm whether you still require assistance with this particular issue or whether it can be closed now?  Thanks!

Case closed due to no further comments received.


undefined symbol: _ZN3c104impl23ExcludeDispatchKeyGuardC1ENS_14DispatchKeySetE

I have being encountering this error recently when working with fastaudio on google colab.
It seems torch version in the source code is not compatible with the recent one use by colab engine.

Yes this will be because of the new upgrade to pytorch==1.7. #53 being merged will solve this issue.


Counselor Meetings: Style tweaks, inclusive time filter

Follow-on to https://github.com/studentinsights/studentinsights/pull/2477, update styling for narrow screens, and make time filter inclusive (eg, include today).

selfie


Fix vuln test for SSP error

Description of PR
Fix vulnerability test for SSP value error, was missed in fix.
Summary of changes and related issue
[What's changed in this PR?]
Relevant motivation and context
[Why did you change this and what applicable context is needed to understand why this change is needed?]
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Definition of Done Checklist
Practical

[ ] 80% unit test coverage
[ ] Documentation

[ ] All functions/adjusted functions documented in the readthedocs.
[ ] Documentation is pushed

[ ] Complex code commented
[ ] Naming conventions followed

[ ] Helper functions hidden with _ before the name

[ ] Context of function is clearly provided

[ ] Intent of function is provided
[ ] How to test, so that it is not siloed on scientists and anyone can review
[ ] Appropriate manual testing was completed

[ ] Any notebooks known to utilize the affected functions are still working
[ ] Linting completed and resolved

Conceptual

[ ] Doesn't replicate existing functionality
[ ] Aligns with general coding standard of existing functions
[ ] Matches desired functionality from users/scientists

I'm really having a hard time understanding what happened to this test. Any ideas?


Downcast leads to compiler error TS2352

Compiling
interface Base { v2: string; }
interface A extends Base { v1: number; }
interface B extends Base { v3: object; }
const x: A = { v1: 5, v2: "I'm a c", v3: { hans: 'franz' } } as A;
const y: B = x as B;

with TypeScript 2.4.2 leads to
error TS2352: Type 'A' cannot be converted to type 'B'.
  Property 'v3' is missing in type 'A'.

I expect that this code compiles!

That is not a downcast.
Duplicate of #7531, #16995, etc


undefined local variable or method `resource_class' for #UsersController:0x007fdf001ee0d8

Hello,
I followed to the letter the method described here https://github.com/plataformatec/devise#strong-parameters but I still have an error raised...
undefined local variable or method `resource_class' for #UsersController:0x007fdf001ee0d8
I'm using devise: gem 'devise', github: 'plataformatec/devise' and rails 4.2.1.
Any idea as how to do to correct this issue?
Thanks

Can you provide the the full stacktrace? It is very hard to provide any information based only on the error message.

This is the full trace:
undefined local variable or method `resource_class' for #UsersController:0x00000003c55668
Extracted source (around line #10):
def configure_permitted_parameters
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :current_password, :password, :password_confirmation, :name, :surname, :sex) }
end
end
Rails.root: /home/johndoe/intra_ruby
Application Trace | Framework Trace | Full Trace
/home/johndoe/.bundler/ruby/devise-a29fee164449/lib/devise/controllers/helpers.rb:152:in devise_parameter_sanitizer' app/controllers/application_controller.rb:10:in configure_permitted_parameters'
app/controllers/users_controller.rb:19:in update' actionpack (4.2.1) lib/action_controller/metal/implicit_render.rb:4:in send_action'
actionpack (4.2.1) lib/abstract_controller/base.rb:198:in process_action' actionpack (4.2.1) lib/action_controller/metal/rendering.rb:10:in process_action'
actionpack (4.2.1) lib/abstract_controller/callbacks.rb:20:in block in process_action' activesupport (4.2.1) lib/active_support/callbacks.rb:117:in call'
activesupport (4.2.1) lib/active_support/callbacks.rb:117:in call' activesupport (4.2.1) lib/active_support/callbacks.rb:555:in block (2 levels) in compile'
activesupport (4.2.1) lib/active_support/callbacks.rb:505:in call' activesupport (4.2.1) lib/active_support/callbacks.rb:505:in call'
activesupport (4.2.1) lib/active_support/callbacks.rb:92:in _run_callbacks' activesupport (4.2.1) lib/active_support/callbacks.rb:776:in _run_process_action_callbacks'
activesupport (4.2.1) lib/active_support/callbacks.rb:81:in run_callbacks' actionpack (4.2.1) lib/abstract_controller/callbacks.rb:19:in process_action'
actionpack (4.2.1) lib/action_controller/metal/rescue.rb:29:in process_action' actionpack (4.2.1) lib/action_controller/metal/instrumentation.rb:32:in block in process_action'
activesupport (4.2.1) lib/active_support/notifications.rb:164:in block in instrument' activesupport (4.2.1) lib/active_support/notifications/instrumenter.rb:20:in instrument'
activesupport (4.2.1) lib/active_support/notifications.rb:164:in instrument' actionpack (4.2.1) lib/action_controller/metal/instrumentation.rb:30:in process_action'
actionpack (4.2.1) lib/action_controller/metal/params_wrapper.rb:250:in process_action' activerecord (4.2.1) lib/active_record/railties/controller_runtime.rb:18:in process_action'
actionpack (4.2.1) lib/abstract_controller/base.rb:137:in process' actionview (4.2.1) lib/action_view/rendering.rb:30:in process'
actionpack (4.2.1) lib/action_controller/metal.rb:196:in dispatch' actionpack (4.2.1) lib/action_controller/metal/rack_delegation.rb:13:in dispatch'
actionpack (4.2.1) lib/action_controller/metal.rb:237:in block in action' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:74:in call'
actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:74:in dispatch' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:43:in serve'
actionpack (4.2.1) lib/action_dispatch/journey/router.rb:43:in block in serve' actionpack (4.2.1) lib/action_dispatch/journey/router.rb:30:in each'
actionpack (4.2.1) lib/action_dispatch/journey/router.rb:30:in serve' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:819:in call'
warden (1.2.3) lib/warden/manager.rb:35:in block in call' warden (1.2.3) lib/warden/manager.rb:34:in catch'
warden (1.2.3) lib/warden/manager.rb:34:in call' rack (1.6.0) lib/rack/etag.rb:24:in call'
rack (1.6.0) lib/rack/conditionalget.rb:38:in call' rack (1.6.0) lib/rack/head.rb:13:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/params_parser.rb:27:in call' actionpack (4.2.1) lib/action_dispatch/middleware/flash.rb:260:in call'
rack (1.6.0) lib/rack/session/abstract/id.rb:225:in context' rack (1.6.0) lib/rack/session/abstract/id.rb:220:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/cookies.rb:560:in call' activerecord (4.2.1) lib/active_record/query_cache.rb:36:in call'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:649:in call' activerecord (4.2.1) lib/active_record/migration.rb:378:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/callbacks.rb:29:in block in call' activesupport (4.2.1) lib/active_support/callbacks.rb:88:in call'
activesupport (4.2.1) lib/active_support/callbacks.rb:88:in _run_callbacks' activesupport (4.2.1) lib/active_support/callbacks.rb:776:in _run_call_callbacks'
activesupport (4.2.1) lib/active_support/callbacks.rb:81:in run_callbacks' actionpack (4.2.1) lib/action_dispatch/middleware/callbacks.rb:27:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/reloader.rb:73:in call' actionpack (4.2.1) lib/action_dispatch/middleware/remote_ip.rb:78:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in call' web-console (2.1.2) lib/web_console/middleware.rb:37:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in call' railties (4.2.1) lib/rails/rack/logger.rb:38:in call_app'
railties (4.2.1) lib/rails/rack/logger.rb:20:in block in call' activesupport (4.2.1) lib/active_support/tagged_logging.rb:68:in block in tagged'
activesupport (4.2.1) lib/active_support/tagged_logging.rb:26:in tagged' activesupport (4.2.1) lib/active_support/tagged_logging.rb:68:in tagged'
railties (4.2.1) lib/rails/rack/logger.rb:20:in call' actionpack (4.2.1) lib/action_dispatch/middleware/request_id.rb:21:in call'
rack (1.6.0) lib/rack/methodoverride.rb:22:in call' rack (1.6.0) lib/rack/runtime.rb:18:in call'
activesupport (4.2.1) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' rack (1.6.0) lib/rack/lock.rb:17:in call'
actionpack (4.2.1) lib/action_dispatch/middleware/static.rb:113:in call' rack (1.6.0) lib/rack/sendfile.rb:113:in call'
railties (4.2.1) lib/rails/engine.rb:518:in call' railties (4.2.1) lib/rails/application.rb:164:in call'
rack (1.6.0) lib/rack/content_length.rb:15:in call' puma (2.11.2) lib/puma/server.rb:507:in handle_request'
puma (2.11.2) lib/puma/server.rb:375:in process_client' puma (2.11.2) lib/puma/server.rb:262:in block in run'
puma (2.11.2) lib/puma/thread_pool.rb:104:in call' puma (2.11.2) lib/puma/thread_pool.rb:104:in block in spawn_thread'

Have you forgotten the if: :devise_controller? option when declaring your filter?
before_action :configure_permitted_parameters, if: :devise_controller?

this is in my application_controller.rb:
before_action :configure_permitted_parameters, if:  :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :current_password, :password, :password_confirmation, :name, :surname, :sex) }
end
and this is in my update of users_controller.rb:
@user = User.find(params[:id])
@user.update_attributes(configure_permitted_parameters)

Ah, that is it. Don't use configure_permitted_parameters there. It is meant to be used only inside Devise controllers (which yours isn't).

OK, so how would I use it inside my users_controller.rb ?

You can put { |u| u.permit(:email, :current_password, :password, :password_confirmation, :name, :surname, :sex) } inside a method and use it in both your controller and in the configure parameter call.

I don't understand, in your tutorial https://github.com/plataformatec/devise#strong-parameters you show that you are putting the configure_permitted_parameters in the ApplicationController.

The same to #2451 ,the wiki may help you.


Misc measures bundle

Run on deploy:
./manage.py import_measures --measure=ktt12_diabetes_insulin,ktt9_cephalosporins,lptramadolpara,other_lipid_modifying_drugs,sildenafil
echo "DELETE FROM frontend_measureglobal WHERE id IN ('ktt3_lipid_modifying_drugs', 'statins'); DELETE FROM frontend_measure WHERE measure_id IN ('ktt3_lipid_modifying_drugs', 'statins'); DELETE FROM frontend_measurevalue WHERE measure_id IN ('ktt3_lipid_modifying_drugs', 'statins')" | ./manage.py dbshell --settings=openprescribing.settings.production

What needs reviewing once I've deployed to staging:
@HelenCEBM:

[ ] All titles, descriptions, why it matters

@brianmackenna:

Data definition and data charts of:

[ ] ktt12_diabetes_insulin (just reformatting of SQL, shouldn't have changed)
[ ] ktt9_cephalosporins (just reformatting of SQL, shouldn't have changed)
[ ] lptramadolpara (had new BNF code added)
[ ] other_lipid_modifying_drugs (brand new)
[ ] sildenafil (brand new)

The full, corrected, list of commands to be run on deployment is:
./manage.py import_measures --measure=ktt12_diabetes_insulin,ktt9_cephalosporins,lptramadolpara,other_lipid_modifying_drugs,sildenafil

./manage.py import_measures --definition_only --measure=ace,arb,bdzadq,bdzper1000,ciclosporin,coproxamol,desogestrel,diltiazem,dipyridamole,doacs,fungal,glaucoma,glutenfree,icsdose,keppra,ktt12_diabetes_insulin,ktt13_nsaids_ibuprofen,ktt9_antibiotics,ktt9_cephalosporins,ktt9_cephalosporins_star,ktt9_uti_antibiotics,lpcoprox,lpdosulepin,lpdoxazosin,lpfentanylir,lpglucosamine,lphomeopathy,lplidocaine,lpliothyronine,lplutein,lpomega3,lpoxycodone,lpperindopril,lprubefacients,lptadalafil,lptramadolpara,lptravelvacs,lptrimipramine,lpzomnibus,lyrica,methotrexate,nebivolol,opioidome,opioidper1000,opioidspercent,other_lipid_modifying_drugs,ppidose,ppi,pregabalin,pregabalinmg,saba,sildenafil,silver,solublepara,statinintensity,tamoxifen,tramadol,trimethoprim,vitb

echo "DELETE FROM frontend_measureglobal WHERE measure_id IN ('ktt3_lipid_modifying_drugs', 'statins'); DELETE FROM frontend_measure WHERE id IN ('ktt3_lipid_modifying_drugs', 'statins'); DELETE FROM frontend_measurevalue WHERE measure_id IN ('ktt3_lipid_modifying_drugs', 'statins')" | ./manage.py dbshell

To whoever ends up merging this, can I suggest selecting "Squash and merge" so we don't end up with a history full of tiny edits.

The full, corrected again, list of commands to be run on deployment is:
./manage.py import_measures --measure=bdzadq,bdzper1000,ktt12_diabetes_insulin,ktt9_cephalosporins,lptramadolpara,other_lipid_modifying_drugs,sildenafil

./manage.py import_measures --definition_only --measure=ace,arb,ciclosporin,coproxamol,desogestrel,diltiazem,dipyridamole,doacs,fungal,glaucoma,glutenfree,icsdose,keppra,ktt12_diabetes_insulin,ktt13_nsaids_ibuprofen,ktt9_antibiotics,ktt9_cephalosporins,ktt9_cephalosporins_star,ktt9_uti_antibiotics,lpcoprox,lpdosulepin,lpdoxazosin,lpfentanylir,lpglucosamine,lphomeopathy,lplidocaine,lpliothyronine,lplutein,lpomega3,lpoxycodone,lpperindopril,lprubefacients,lptadalafil,lptramadolpara,lptravelvacs,lptrimipramine,lpzomnibus,lyrica,methotrexate,nebivolol,opioidome,opioidper1000,opioidspercent,other_lipid_modifying_drugs,ppidose,ppi,pregabalin,pregabalinmg,saba,sildenafil,silver,solublepara,statinintensity,tamoxifen,tramadol,trimethoprim,vitb

echo "DELETE FROM frontend_measureglobal WHERE measure_id IN ('ktt3_lipid_modifying_drugs', 'statins', 'quetiapine'); DELETE FROM frontend_measure WHERE id IN ('ktt3_lipid_modifying_drugs', 'statins', 'quetiapine'); DELETE FROM frontend_measurevalue WHERE measure_id IN ('ktt3_lipid_modifying_drugs', 'statins', 'quetiapine')" | ./manage.py dbshell