Regent: Failing to parse metaprogrammed statements

It looks like Regent has trouble parsing when two quoted statements are close to each other. I think there is also an issue for rexpr too. My fix has been to surround quoted statements with ;.
import "regent"

local function genStatement(alpha, beta)
  return rquote
    alpha = beta + 3
  end
end

task toplevel()
  var a = 1
  var b = 2
  [genStatement(a, b)] -- Fix by adding `;` here
  [genStatement(b, a)]
end

legion/language/src/regent/specialize.t:144: Errors reported during typechecking.
../bug.rg:12: unable to specialize quoted statement as an expression
  [genStatement(a, b)]
  ^

stack traceback:
	[C]: in function 'error'
	src/terralib.lua:388: in function 'finishandabortiferrors'
	/home/ellis/repos/legion/language/src/common/report.t:56: in function 'error'
	/home/ellis/repos/legion/language/src/regent/specialize.t:144: in function 'expr'
	/home/ellis/repos/legion/language/src/regent/specialize.t:547: in function 'expr'
	/home/ellis/repos/legion/language/src/regent/specialize.t:1639: in function 'stat'
	/home/ellis/repos/legion/language/src/regent/specialize.t:1369: in function 'block'
	/home/ellis/repos/legion/language/src/regent/specialize.t:1920: in function </home/ellis/repos/legion/language/src/regent/specialize.t:1899>
	/home/ellis/repos/legion/language/src/regent/passes.t:59: in function </home/ellis/repos/legion/language/src/regent/passes.t:57>

This issue is something we inherited from Terra. There is an ambiguity in the expression [...][...]: is this two escapes back-to-back, or is this a nested array reference?
Terra's solution is to insert the ; implicitly when the two sets of brackets are on different lines. I've never been super happy with this, so I didn't implement it in Regent. But I'm not sure there are any other great solutions, so maybe it's time to bite the bullet and just do it.


Fix Capitalization Issues In Navigation Script

There's an existing add_navigation.ex script in the utils folder that contains the script for generating this navigation.
We can modify the to_title/1 function to include special cases such as ExUnit
  defp to_title(file_path) do
    file_name =
      case file_path do
        "../reading/" <> file_name -> file_name
        "../exercises/" <> file_name -> file_name
      end

    [name, _extension] = String.split(file_name, ".")

    String.split(name, "_")
    |> Enum.map(&String.capitalize/1)
    |> Enum.join(" ")
  end

I can take a look at this one today if nobody else is working on it.  :)


[Segment Replication] Allow shard idle on indices with zero replicas

Moving conversation from https://github.com/opensearch-project/OpenSearch/pull/7736 to a new issue.
Today indices using segment replication silently ignore shard idle.  This is intentional because with segment replication replicas are only refreshed externally through their primary.  So we cannot depend on a search request to specifically hit a primary in order to trigger segment copy.
There are few issues with this current implementation.

Indices with zero replicas will also have shard idle disabled and cause a significant performance degradation (see benchmark below).  This would most likely impact users with remote store enabled for durability with zero replicas.
If a user specifies a non default value for index.search.idle.after it is ignored silently.

40 shards 0 replicas.
baseline = docrep
Contender = segrep
------------------------------------------------------
    _______             __   _____
   / ____(_)___  ____ _/ /  / ___/_________  ________
  / /_  / / __ \/ __ `/ /   \__ \/ ___/ __ \/ ___/ _ \
 / __/ / / / / / /_/ / /   ___/ / /__/ /_/ / /  /  __/
/_/   /_/_/ /_/\__,_/_/   /____/\___/\____/_/   \___/
------------------------------------------------------

|                                                        Metric |                     Task |    Baseline |   Contender |     Diff |   Unit |
|--------------------------------------------------------------:|-------------------------:|------------:|------------:|---------:|-------:|
|                    Cumulative indexing time of primary shards |                          |     117.767 |     126.334 |  8.56688 |    min |
|             Min cumulative indexing time across primary shard |                          |     2.79192 |     3.05287 |  0.26095 |    min |
|          Median cumulative indexing time across primary shard |                          |     2.95258 |     3.15603 |  0.20345 |    min |
|             Max cumulative indexing time across primary shard |                          |     3.06253 |     3.25807 |  0.19553 |    min |
|           Cumulative indexing throttle time of primary shards |                          |           0 |           0 |        0 |    min |
|    Min cumulative indexing throttle time across primary shard |                          |           0 |           0 |        0 |    min |
| Median cumulative indexing throttle time across primary shard |                          |           0 |           0 |        0 |    min |
|    Max cumulative indexing throttle time across primary shard |                          |           0 |           0 |        0 |    min |
|                       Cumulative merge time of primary shards |                          |           0 |     86.6928 |  86.6928 |    min |
|                      Cumulative merge count of primary shards |                          |           0 |         563 |      563 |        |
|                Min cumulative merge time across primary shard |                          |           0 |     1.15612 |  1.15612 |    min |
|             Median cumulative merge time across primary shard |                          |           0 |     2.45673 |  2.45673 |    min |
|                Max cumulative merge time across primary shard |                          |           0 |     3.08378 |  3.08378 |    min |
|              Cumulative merge throttle time of primary shards |                          |           0 |     45.4994 |  45.4994 |    min |
|       Min cumulative merge throttle time across primary shard |                          |           0 |     0.42275 |  0.42275 |    min |
|    Median cumulative merge throttle time across primary shard |                          |           0 |     1.25747 |  1.25747 |    min |
|       Max cumulative merge throttle time across primary shard |                          |           0 |     1.94772 |  1.94772 |    min |
|                     Cumulative refresh time of primary shards |                          |     11.4373 |     23.7369 |  12.2996 |    min |
|                    Cumulative refresh count of primary shards |                          |         389 |        3510 |     3121 |        |
|              Min cumulative refresh time across primary shard |                          |      0.1986 |    0.540683 |  0.34208 |    min |
|           Median cumulative refresh time across primary shard |                          |    0.279458 |     0.59135 |  0.31189 |    min |
|              Max cumulative refresh time across primary shard |                          |    0.379533 |     0.63685 |  0.25732 |    min |
|                       Cumulative flush time of primary shards |                          |     4.42715 |     1.87787 | -2.54928 |    min |
|                      Cumulative flush count of primary shards |                          |          40 |          84 |       44 |        |
|                Min cumulative flush time across primary shard |                          |     0.03735 |   0.0110667 | -0.02628 |    min |
|             Median cumulative flush time across primary shard |                          |    0.110767 |   0.0436333 | -0.06713 |    min |
|                Max cumulative flush time across primary shard |                          |     0.21965 |    0.117183 | -0.10247 |    min |
|                                       Total Young Gen GC time |                          |       9.287 |       3.867 |    -5.42 |      s |
|                                      Total Young Gen GC count |                          |         168 |         189 |       21 |        |
|                                         Total Old Gen GC time |                          |           0 |           0 |        0 |      s |
|                                        Total Old Gen GC count |                          |           0 |           0 |        0 |        |
|                                                    Store size |                          |     32.0886 |     43.6133 |  11.5247 |     GB |
|                                                 Translog size |                          | 2.04891e-06 | 2.04891e-06 |        0 |     GB |
|                                        Heap used for segments |                          |           0 |           0 |        0 |     MB |
|                                      Heap used for doc values |                          |           0 |           0 |        0 |     MB |
|                                           Heap used for terms |                          |           0 |           0 |        0 |     MB |
|                                           Heap used for norms |                          |           0 |           0 |        0 |     MB |
|                                          Heap used for points |                          |           0 |           0 |        0 |     MB |
|                                   Heap used for stored fields |                          |           0 |           0 |        0 |     MB |
|                                                 Segment count |                          |         733 |         756 |       23 |        |
|                                                Min Throughput |             index-append |       74672 |     61215.7 | -13456.2 | docs/s |
|                                               Mean Throughput |             index-append |     79794.3 |     64712.4 | -15081.9 | docs/s |
|                                             Median Throughput |             index-append |     78470.5 |     64937.8 | -13532.8 | docs/s |
|                                                Max Throughput |             index-append |     88291.9 |       67531 | -20760.9 | docs/s |
|                                       50th percentile latency |             index-append |     321.652 |     490.719 |  169.067 |     ms |
|                                       90th percentile latency |             index-append |     632.225 |     1029.97 |  397.741 |     ms |
|                                       99th percentile latency |             index-append |     5571.06 |     1502.37 | -4068.69 |     ms |
|                                     99.9th percentile latency |             index-append |     7318.35 |     2123.22 | -5195.13 |     ms |
|                                      100th percentile latency |             index-append |     9532.39 |     2299.36 | -7233.03 |     ms |
|                                  50th percentile service time |             index-append |     321.652 |     490.719 |  169.067 |     ms |
|                                  90th percentile service time |             index-append |     632.225 |     1029.97 |  397.741 |     ms |
|                                  99th percentile service time |             index-append |     5571.06 |     1502.37 | -4068.69 |     ms |
|                                99.9th percentile service time |             index-append |     7318.35 |     2123.22 | -5195.13 |     ms |
|                                 100th percentile service time |             index-append |     9532.39 |     2299.36 | -7233.03 |     ms |
|                                                    error rate |             index-append |           0 |           0 |        0 |      % |
|                                                Min Throughput | wait-until-merges-finish |     52.7632 |    0.011783 | -52.7514 |  ops/s |
|                                               Mean Throughput | wait-until-merges-finish |     52.7632 |    0.011783 | -52.7514 |  ops/s |
|                                             Median Throughput | wait-until-merges-finish |     52.7632 |    0.011783 | -52.7514 |  ops/s |
|                                                Max Throughput | wait-until-merges-finish |     52.7632 |    0.011783 | -52.7514 |  ops/s |
|                                      100th percentile latency | wait-until-merges-finish |     18.4399 |     84867.3 |  84848.9 |     ms |
|                                 100th percentile service time | wait-until-merges-finish |     18.4399 |     84867.3 |  84848.9 |     ms |
|                                                    error rate | wait-until-merges-finish |           0 |           0 |        0 |      % |

-------------------------------
[INFO] SUCCESS (took 0 seconds)
-------------------------------

Expected behavior
There should not be a performance hit for indices using SEGMENT replication type when there are no replicas.
Users should be aware that any specified value for index.search.idle.after will have no impact if they are using SEGMENT replication type with replicas.

@andrross @Bukhtawar I know there was concern on https://github.com/opensearch-project/OpenSearch/pull/7736 adding bi-modal behavior with/without replicas.  I think the perf benefit here is large enough to accept this with some warning to users (and docs). I tried adding some validation to search.idle.after and replica count but this further coupled the settings & given they are in separate files did not cover all cases.
I've re-opened this PR under #8173 and added a warning when search.idle is updated from default values.

Thanks @mch2. Wondering if we could do something better. As in still honour shard_idle even with replicas, by forwarding the request to primary and performing a refresh before sending back the response, if the replica has not seen any new checkpoints in the last X intervals. This is to avoid penalising the search request if it arrives on a replica which has to otherwise do a round-trip of (replica -> primary(refresh) -> segment transfer to replica) before executing the search. Once the refresh is done on primary, upon arrival of the search request, the newer segments get replicated.

forwarding the request to primary and performing a refresh before sending back the response, if the replica has not seen any new checkpoints in the last X intervals.

Are you suggesting we ping the primary before serving the search req, wait for segments to get replicated, and then issue the req on replica? Or simply ping the primary to start the replication cycle and then perform the req, knowing it would be stale?  I think I'd prefer the latter here and have users route critical requests to primary where staleness is not an option.

Its also possible that there has been no indexing done on the shard in which case the primary forwarding might be moot

Even with our existing push mechanism we would know if the replica has received a published checkpoint from the primary and that we are in no-indexing vs indexing shard_idle and to route the req.  We might be able to also determine staleness by comparing translog global cp to the local processed cp of the replica.

Essentially I don't want indexing heavy workloads to suffer because they had a replica for availability to start with. We can even think about a simpler way to not do any forwarding to primary but return back stale records for the initial request, which will force a refresh on-demand on-primary.

The thinking behind disabling search_idle in the first place is that using Segment Replication would still outweigh the benefits of search_idle for indexing workloads. Related issue. The workload wouldn't suffer compared to docrep in terms of throughput, however it would increase refresh/flush/merge counts when refresh interval is low.  I do like this simple approach of pinging the primary to refresh & start the cycle and serving a stale read from the replica. This is not much different than setting a high refresh interval with SR today and issuing a search.  The risk is that read could be significantly behind.

One other thing I'm thinking through is that in an idle state when a primary does eventually refresh would yield larger segments & more data that needs to be copied out to nodes and/or remote store.  With SR and remote store pressure this may increase the likelihood of backpressure kicking in, particularly with synchronous remote store uploads.

So to be clear here, this would also be a behavior change with search_idle where when the req does eventually come in, we are serving a stale read vs solely increasing latency.  This may be more of problem for system level indices.

@Bukhtawar I am working on a better solution here.  Until then are we ok with https://github.com/opensearch-project/OpenSearch/pull/8173 to mitigate the perf issue with 0 replicas?

@Bukhtawar I am working on a better solution here. Until then are we ok with #8173 to mitigate the perf issue with 0 replicas?

@Bukhtawar : Can you please respond to this query. We would like to move forward with this solution in case there are no concerns.

Opened separate issue to  explore supporting idle with segrep, closing this as completed.


Cannot find the Service Packs in the mentioned location in the docs

In IS 5.0.0 doc space [1], it has mentioned the SP can be downloaded from the download page. But, the pack is not available to download in the said location
[1] https://docs.wso2.com/display/IS500/Installing+the+Service+Pack

Now since the service pack has been added to the previous download page, I have updated the doc [1] with steps on how to download WSO2 IS 5.0.0 as well as the service pack for IS 5.0.0 from the previous download page.
[1] https://docs.wso2.com/display/IS500/Installing+the+Service+Pack


Grammar in "When is a single transfer done?"

Last paragraph of page 216, starting "When you do multiple ... in the same curl_multi_perform invoke [sic] and then you might need", could be improved, presumably to something like "in the same curl_multi_perform invocation and then you might need".
Really good documentation; these all just minor mistakes.

Thanks


Traefik UI port

Looking at enabling the UI port for traefik, I noticed that there is a port 8880 enabled and there is no mention of configuring the Traefik UI for this port, also the name httpn was slightly miss leading. The snippet below is how the port looks on a default installation of k3s without any extra inputs.
{
   "name": "httpn",
  "containerPort": 8880,
  "protocol": "TCP"
},

Is there an option to enable Traefik UI from the installation params or do I need to install Traefik and configure it myself.
Thanks

I'm not sure how to override or further configure, but I see this comes with the traefik chart, in its template traefik/templates/configmap.yaml, which forms the traefik.toml config
e.g. from https://kubernetes-charts.storage.googleapis.com/traefik-1.64.0.tgz
Kind: ConfigMap
metadata:
  name: {{ template "traefik.fullname" . }}
data:
  traefik.toml: |
    # traefik.toml
...
[entryPoints.httpn]
      {{- if .Values.whiteListSourceRange }}
      {{ template "traefik.whiteListSourceRange" . }}
      {{- end }}
      address = ":8880"

In the traefik chart you are able to pass config variables to customise what you want with traefik for example
helm install --name my-release --namespace kube-system \
  --set dashboard.enabled=true,dashboard.domain=traefik.example.com stable/traefik

will install this chart and enable the dashboard through the mentioned domain name.

The way to handle this (at least it's the way I have handled it), is to add --no-deploy traefik to your k3s server command, and then create your own Traefik manifest (or run helm manually).
My traefik manifest looks like this (Jinja2 template used with Ansible):
apiVersion: k3s.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: stable/traefik
  set:
    ssl.enabled: "true"
    acme.challengeType: "tls-alpn-01"
    acme.email<EMAIL_ADDRESS>    acme.enabled: "true"
    acme.logging: "true"
    acme.persistence.accessMode: "ReadWriteOnce"
    acme.persistence.enabled: "false"
    acme.persistence.size: "64Mi"
    gzip.enabled: "true"
    metrics.prometheus.enabled: "true"
    metrics.prometheus.restrictAccess: "true"
    rbac.enabled: "true"
    traefikLogFormat: "json"
  valuesContent: |-
    acme:
      staging: false
      domains:
        enabled: true
        domainsList:
          - main: my.host.name
    dashboard:
      enabled: true
      domain: "traefik.my.host.name"
      auth:
        basic:
          user: "{{ traefik_dash_pass | string | password_hash('md5') }}"

Thanks, I have reached similar conclusion recently, thanks.
I will mark this as resolved.

Hi,
I proceed in a sligthly different way to access to the Trarfik UI making the folowing updates:

update the traefik configmap to include [api] and add the endpoint address = ":8880"
update the traefic service to expose the endpoint "port": 8880
add an ingress to access to this endpoint.

The updated config map :
...
defaultEntryPoints = ["http","https"]
[api]
[entryPoints]
  [entryPoints.traefik]
  address = ":8880"
  [entryPoints.http]
...

The updated service:
...
 ports:
  - name: api
    port: 8880
    protocol: TCP
  - name: http
...

The ingress file:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  rules:
  - host: traefik.k3s.local
    http:
      paths:
      - path: /
        backend:
          serviceName: traefik
          servicePort: 8880

Maybe it is simpler to install treafik after k3s, I will try.
Best Regards,
Michel.


Add shunit2 dependency for test readme

While we do a remote ref to shunit2, pulling the shunit2 project needs to be done manually for our unit testing to work, this notifies the user that its needed as a dependency in the README. Fixed minor typo aswell.
Cheers

Thanks, merged.


feat(user): Report profiles

This adds a simple email-based mechanism to report profiles for abuse. An email with text from the report is sent to Free Code Camp's support account with the reporter's account in copy. This also adds the reporter's details to the report for follow ups.
Tested locally.
Closes #11891

This seems something that can easily be abused and does not really solve the problem.
I'm not sure just sending an email to quincy is the right thing to do. This could potentially make our inbox unmanageable.
@QuincyLarson What are you thoughts?

@BerkeleyTrue thanks for the QA.
Yeah, it's a very simple, light-weight, mechanism, as per @QuincyLarson's comment, we aren't looking to hit the database.
Regarding safeguards against abuse, we are aiming to have this towards logged in users with verified emails only. Each report is sent as a copy to the reporter. This aims to reduce the chances of spam mailing.
But of course, we should consider this least on the list of our priorities.
I will fix the routing issues in your review and update the PR.

On that note, maybe I'll add some recorded GIF's to showcase the flow, if that would help.

Alright, let's give it a try and see how it works out.

Please wait for fixes to Berkeley's earlier review comments before merging, will update when ready.

Ready for QA. Have addressed the earlier comments and added the unAuth and the non-verified email middlewares.

This is ready for QA. I have added a custom sanitizer (source is quoted in the comments).

Why are you adding a custom sanitizer? Why not use the one built into express-validator?

Going by the docs, they have just basic escaping as default.
see: express-validator#sanitizer
More sanitizers are available from, their dependency in chriso/validator.js, but they apparently removed support for scripts, more details in their readme.
I went by a SO answer http://stackoverflow.com/a/430240/1932901, it was aimed for client side cleanup, by solves our purposes, for API side validation.
I tested, it recursively removes all sorts of tags and dirty elements from the text.
Again, very basic but does a much cleaner job.
I am open to suggestions though.

ok sounds good.

Ready for a QA.

code lgtm

@raisedadead This works amazingly. Thank you for implementing this. :shipit:

Happy to help!


Automatic stop play, Add EOC function

Hi,
I don't know if the function really exists because I haven't found it.
Wish :
I would like, like the ELOQUENCER for example, to be able to play the PERFORMER and have it stop automatically at the end of the chosen selection.
It would also be interesting to add looping mode.
Selections could be made on :

one step
several steps
a sequence
a song or part of a song

Interest:
I'd like this function because I've just bought the MORPHAGENE and I've found a combination of patches that allows you to record samples in a chain, automatically creating splices between the samples. It's absolutely brilliant, no need to use external software to reposition the splices. It saves a huge amount of time.
Example 1:

I press a step (note window in the PERFORMER)
the gate sends the recording trig to the MORPHAGENE and into an envelope (EG)
the envelope's EOC stops the MORPHAGENE recording

Example 2:

I select 4 steps
I start playback
playback stops automatically at the end of the 4th step and that's fine.
However, it is impossible to use the envelope's EOC, which would be triggered at the end of each step, preventing the 4 steps from being recorded as a single sample in the MORPHAGENE.

Possibilities:
As playback stops automatically :

for long envelopes, you can press the MORPHAGENE stop recording button
for very short envelopes, use of the next step could serve as an EOC

Alternatively:

Would it be possible to program an EOC that would trigger at the end of playback of the last step of a selected sequence (at the end of the gate length. This EOC could be temporarily set to output on the RST output for example (or another output), "Temporary Sample Creation".
Would it be possible to add a delay (time) to this EOC, to simulate a long envelope?

Thanks
Gil

nice idea, but why don't use curve track to do this?
or maybe u can use conditions to play a gate just one time

Hi,
I'm not sure it could work using the conditions. I haven't been able to.
As the CV is associated with the GATE, it is currently impossible to record a sequence of several steps with a start and end trigger.
The idea would be to create a function: "Record sample"
See my example in the attachment (picture attached): recording a sample over 4 steps:

select 4 steps
define a SOC (Start Of Cycle), predelay if required by the user at the first step
define an EOC (Start Of Cycle), delay at the end of the last step in case the envelope is longer than the duration of the gate (this can also be associated with the tail of a reverb)
start playback of the 4 steps with the option of stopping playback at the end of the last step or looping playback of the 4 steps.

You need to be able to separate SOC from EOC because the MORPHAGENE needs:

SOC then EOC to start and stop recording (jack in REC input)
SOC to create a splice between each recording (jack in the SPLICE input).

Now, in recording mode, you need to associate SOC and EOC with 2 independent outputs Can CV IN 1, 2, 3, 4 be associated with CV OUT?
I don't think so...
I was thinking of

CLK OUT for SOC
RST OUT for EOC

But we'll lose the clock which can be used for many external modules, LFO, ext --> bad idea.
The only solution would be to assign SOC and EOC to 2 gates of the 8 available channels, which you could select.
Example:
Sample to record: channel 4 (GATE + CV)
SOC: channel 1 (GATE)
EOC: channel 7 (GATE)
Assigning SOC and EOC from the PERFORMER saves the complex task of connecting an envelope and allows you to control the start and end of recording.
A function that will make people happy
I'm going to try making a video by recording a series of samples with a single step from the PERFORMER
Thanks
Best, Jil

Hi,
In fact, it's possible to use CURVE mode.
SOC : Gate CURVE
EOC : CURVE, I shift the EOC for the end of the decay
However, you'll need to provide an automatic stop for playback
I'm going to make a video
Jil

Hi,
In fact, it's possible to use CURVE channel and it works well for the MORPHAGENE:

Curve Gate: SOC (Start Of Cycle) and SPLICE creation
Curve Shape: EOC (End Of Cycle) using a curve, the EOC represented by the curve must be shifted to take account of the decay in sound (decay, reverb, delay...)

However, it would be necessary to stop playback automatically.
Jil

As you can assign a route to the play toggle you can control play and stop of the sequencercer.

Hi,
It is possible to start and stop the PERFORMER using routing.
But this requires the use of additional external modules and the availability of CV inputs in the PERFORMER.
In my case, everything is generally hard-wired.
I think that using routing makes it difficult and complex to record samples.
If possible:
Would it be possible to add a line in the "Project" page?

Automatic stop of playback (yes/no)

No: normal PERFORMER playback
Yes: stop playback at the last selected PERFORMER step
In this case:

display the channel to be sampled (page + Step)
select the number of steps to be played:
either: (shift + steps selection)  --> the steps turn red
or: (page + first step then page + last step)
select the play of PERFORMER
when playback reaches the last selected step, PERFORMER playback stops

I understand that this is a complex request but it would be great to have it
Thanks, Jil

I've implemented a very easy solution. A project page parameter (steps to stop) that can be from 1 to 64 value. when the engine reaches that value the clock stops. hope you can find it useful

Hi,
Yes, excellent ; it's perfect
Because effectively all tracks must be affected by the play/stop process
Thanks
Jil


Export default class  name correctly

For  the Class names to be displayed in the Classes section as shown in this screenshot,
default classes have to be exported like e.g

class Client {
.....
}

export default Client;

But most default classes were exported like this  e.g
export default class Client {
.....
}

thats why is showing as exports in the Classes section.

@cmcWebCode40 Did you change these or do I need to?

I did change it correctly

@cmcWebCode40 Got it, thanks.
Are you able to update PR #85 so it can be merged in?

@tahpot, I haven't
is it of a high priority now so I can resolve the merge conflicts then notify you today?

Hi @tahpot,
I have updated this branch with the changes from main and also resolved all merge conflicts


Return CallError if Call fails to unpack.

For every message ocpp.ChargePoint receives ocpp.messages.unpack() is called. See https://github.com/mobilityhouse/ocpp/blob/master/ocpp/charge_point.py#L135-L140
If unpacking fails ChargePoint.start() crashes with the exception thrown in unpack(). Depending on how ChargePoint is used the connection to the charger might be closed as well. See #101 .
Instead of crashing the ChargePoint an CallError could be returned if a Call is received that fails to unpack(). That will inform the charger about the problem and the connection stays in tact.
Not sure what to do with CallResult that fail to unpack(). We could return CallErrors on CallResults as well, I've seen at least 1 charger that implemented OCPP like that. But I'm afraid that the OCPP specification doesn't have a mechanism to inform the other party that it send an invalid CallResult. So returning CallErrors on CallResults would violate the specification.

Good addition @DColadas. I totally agree.

Closing this.
We are logging the error if unpack fails with an exception of OCPPError.
https://github.com/mobilityhouse/ocpp/blob/d59ecf140eead945b234745d956d142c79a3816d/ocpp/charge_point.py#L255


[GHSA-chp4-rv79-68j3] Apache serialization mechanism does not have a list of classes allowed for serialization/deserialization

Updates

References

Comments
Add a patch https://github.com/apache/ignite/commit/340569b8f4e14a4cb61a9407ed2d9aa4a20bdf49, of which the commit message claims ignite-6643 Marshalling improvements

Hey @MarkLee131, would you mind elaborating on how that commit is related to this advisory?

👋 This pull request has been marked as stale because it has been open with no activity.  If you do nothing this pull request will be closed eventually by the stale bot. Please see CONTRIBUTING.md for more policy details.


Created PriorityQueueEg.java

Have you read the Contributing Guidelines on Pull Requests?
Yes
(Write your answer here.)
Description
Implemented an example of Priority Queue data structure in Java.
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#1689
(Write your answer here.)

This is for DWOC - DevScript Winter of Code.
Thankyou!

@shraddhavp Please help me resolve this DeepSource error. It certainly is not any error in the code.

@iamvs-2002  dont worry it is a deepsource check fail,it is a new feature where implementation is still in progress ,it will soon be fixed ,it is not the error of PR dont worry

Okay, thanks for the clarification.

Add corresponding README changes as well!

Add corresponding README changes as well!

@HarshCasper Done!

@HarshCasper Done!

@HarshCasper Kindly add the dwoc label as the core team says that the label must be both on the pr and the issue.

@HarshCasper Kindly add the dwoc label as the core team says that the label must be both on the pr and the issue.


Project in http nlu interpreter

Proposed changes:
The main change (http params) is adding project name as a parameter for http interpreter
The other change (basestring) was initially for another PR but branches got merged... It fixes a compatibility issue with 2.7: when running core with a custom script and passing the domain as a parameter:
python myscript.py -d domain.yml

And if the shell passes args in unicode, if isinstance(domain, str): will crash because unicode is not an instance of str
Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Nathan Zylbersztejn seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[FEATURE] Migrate Get Detector using Job Scheduler to SDK using SDKRestClient

Is your feature request related to a problem?
Part of https://github.com/opensearch-project/OpenSearch/issues/5224
What solution would you like?
Migrate the Get Detector Rest API to Extensions SDK using SDKRestClient.
Use the implementation of #353 as a reference.  Add new issues for any steps you skip.
Implement the following API endpoints:

[ ] GET _plugins/_anomaly_detection/detectors/<detectorId>?job=true
[ ] GET _plugins/_anomaly_detection/detectors/<detectorId>?task=true

Tasks

[ ] Add routes/replacedRoutes to RestGetAnomalyDetectorAction
[ ]

Note : Historical Detection does not have an associated job, therefore it is only necessary to check for historical batch tasks
Get Detector for Historical Single Entity Detector (task=true)
Get Detector for Historical Multi Entity Detector (task=true)

Tasks to complete

[ ] Test job=true for single entity real time detectors
[ ] Test job=true for multi entity real time detectors
[ ] Test task=true for single entity real time detectors
[ ] Test task=true for multi entity real time detectors
[ ] Test task=true for single entity historical detectors
[ ] Test task=true for multi-entity historical detectors

Tasks to enable retrieving task information for HCAD

[ ] Modify ADTaskManager.getADTaskProfile and remove the hashring
[ ] Integrate ADTaskProfileAction with the SDK and register within getActions
[ ] Remove hashring from ADTaskProfileTransportAction node operation and set AD version to current
[ ] fix affected test classes

All APIs have been tested successfully


[BUG] applicationinsights.azure.com/v2/track making hundreds of thousands of requests when third party cookies are disabled

EDIT: The following issue below occurs in version 3.0.4 and 3.0.5 but NOT 3.0.3.
We are currently using App Insights inside custom webparts in SharePoint Online in a React/TypeScript project. When I disabled third party cookies in Chrome to test a SharePoint feature the entire browser locks up. When I looked at the network tab in the dev tools it says there are hundreds of thousands of requests from https://centralus-2.in.applicationinsights.azure.com/v2/track. I stopped it when it got to 100,000 but I don't think it ever stops on it's own. I saw it hit 300,000 one time. I was able to see the request payload and it looked like this but instead of 3 commas there were thousands of commas inside a beginning and ending bracket.
[,,,]
I tried setting "disableCookiesUsage" to true but that didn't change anything (I'm not sure what that setting does). I thought it might be failing and retrying over and over so I also tried setting "isRetryDisabled" to true but that didn't change anything, either. When I enable third party cookies the tracking URL only shows up once in the network tab.
Is this typical behavior? Is there a way to disable app insights when third party cookies are disabled or is there a setting I need to use? SharePoint Online doesn't like it when third party cookies are disabled. Is it possible no third party cookies + SharePoint Online + App Insights combined is causing some unintended things to happen?
Here is a screen shot.

Here is a screen shot of the errors tab. The 2 errors at the bottom were in the log around 10 times. A new one would pop up every few seconds until I stopped logging

Here is my config
@microsoft/applicationinsights-web": "^3.0.5"

const applicationInsights = new ApplicationInsights({
          config: {
              connectionString: Settings.CONNECTION_STRING_APP_INSIGHTS,
              namePrefix: this.context.pageContext.web.title,
              accountId: siteName,
              disableFetchTracking: true,
              disableAjaxTracking: true,
              disableExceptionTracking: true,
              autoTrackPageVisitTime: true,
              enableDebug: true
          }
      });

applicationInsights.loadAppInsights();
applicationInsights.setAuthenticatedUserContext(this.context.pageContext.user.email);
applicationInsights.context.application.ver = this.packageSolution?.solution?.version;

Let me know if I need to provide any more info. This is my first App Insights GitHub ticket.

I got the same issue,

I'm using App insight with Adobe AEM (React 16)
@microsoft/applicationinsights-react-js": "^2.5.4", "@microsoft/applicationinsights-web": "^3.0.5"
Intermittently I see hundreds or tens of thousands of requests Most of them are ping in chrome network tab the column type is ping
So I added this to my code base appInsights.addTelemetryInitializer((envelope) => { if (envelope.data.baseType === "PingData") {   return false; } return true; });

That seems to did the trick but since it's an intermittent issue it's hard to tell with accuracy if that fixed it or not.

Confirm on my side also.
This bug broke our integration autotest suite running with Playwright.
Cannot do a proper repro though. This issue prevent Playwright to close browser window.

I should have done this when I created this post but I just downgraded until I got to a version where the issue does not happen. The issue does NOT happen in version 3.0.3. The issue happens in version 3.0.4 and 3.0.5.
When I did my tests I was using the latest version of Chrome and checking/unchecking the "Block third party cookies" option under the Third party cookies settings.

Seems to be duplication of https://github.com/microsoft/ApplicationInsights-JS/issues/2201

Seems to be duplication of #2195

@alfeg Yep, seems to be the same issue.  That could be what's triggering it for me. I imagine there are a lot of different scenarios that trigger the bug.

This does seem to be a side effect of #2195, and as part of this you will need to either downgrade ☹ or include the useSendBeacon: false in the configuration as we have not scheduled releases for the rest of '23 due to the holidays.

Tagged as a bug and p1.
Is anyone hitting this when downloading via the CDN? ai.3.min.js or ai.3.gbl.min.js (as these are both v3.0.5), so you can't easily downgrade (but we could roll them back to 3.0.3 if required).

Tagged as a bug and p1.
Is anyone hitting this when downloading via the CDN? ai.3.min.js or ai.3.gbl.min.js (as these are both v3.0.5), so you can't easily downgrade (but we could roll them back to 3.0.3 if required).

@MSNev  Yep, I seem to be hitting this when using the CDN js file. Any way for me to easily downgrade the js file to 3.0.3?

@MSNev Nev Wylie FTE Yep, I seem to be hitting this when using the CDN js file. Any way for me to easily downgrade the js file to 3.0.3?

Yes, I was afraid of that.
I've started the process of creating an out of band deployment (which will be called v3.0.6), we have an initial PR to address this which is being dropped into main #2208, but as we already have other code in main we are going to have to create a special release branch -- so it will be a few days before we will be able to publish and then probably next week before we promote as the primary version on the CDN.
To answer your question -- Yes, you can target a specific release from the CDN (as long as we deployed it to the CDN), the details about all of the different formats along with the primary and full versions is documented on the main readme page here
But simplistically, instead of saying ai.3.min.js or ai-3.gbl.min.js, just specify the full version number ai.3.0.3.min.jsorai.3.0.3.gbl.min.js`
From a process perspective, on the day we "publish" a release to the npm we also publish the full version to the CDN (it's now automated), and then we go through a promotion process to effectively "change" the ai.3.min.js (etc) to be the new "promoted" version (simplistically we copy the full version (ai.3.0.3.*) to ai.3.0.* and ai.3.*)

OP here, this issue appears to be fixed. I cannot reproduce it when disabling third party cookies like I did before.


Adding missing .offset-xs0-important class

The class offset-xs0-important is missing, resulting in bad margins for small devices (xs-sized) when other offsets are used for larger screen sizes.
My case is I want to have a section that uses a centered portion of the screen for larger screens, but the whole screen (12 columns) when in xs form.
I would expect these classes to give that effect (each screen size defines a different offset):
<iron-grid>
      <div class="offset-xs0 xs12 offset-s2 s8 offset-m3 m6 offset-l4 l4">
      ...
     </div>
</iron-grid>

Because there's no offset-xs0-important class to force margins to 0 for xs-sized viewports in iron-grid, then the margins of the last offset-type class applied on the element (in this case offset-l4) prevail.
This plunkr demonstrates the issue:
http://embed.plnkr.co/rweaGISKxSqtakB775ib/

I valid

Merged #24


Add clix command line client

Website: http://code.matthewwild.co.uk/
Documentation: :cricket: ... it has limited built-in help.

Thanks!


Added updated  manual scripts

Updated following scripts:
TC-DD-3.14
TC-IDM-2.2
TC-IDM-3.1
TC-IDM-3.2
TC-IDM-4.1
TC-IDM-4.2
TC-IDM-5.1
TC-IDM-5.2
TC-SC-4.5
TC-SC-4.9
Uploading march-29-Execution-logs.zip…

I'd prefer if the sample commands in the yaml files would not show/require sudo.

sudo is not required AFAICT
The files touched by chip-tool in /tmp/chip* are afterwards owned by root. There are other uses of chip-tool without sudo which are then broken because the files owned by root cannot be opened anymore.

Fast tracking testing changes.


[improve][broker] Add URL check when add/update cluster.

Motivation
Currently, we do not do any URL checking when creating/updating clusters via the admin API.
Modifications

Add URL format check when creating/updating clusters.

Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[x] doc-not-needed
(Please explain why)

Matching PR in forked repository
PR in forked repository:

@mattisonchao Please check the failed test.

@mattisonchao Please check the failed test.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0678b82). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #17880   +/-   ##
=========================================
  Coverage          ?   26.08%
  Complexity        ?     3221
=========================================
  Files             ?      367
  Lines             ?    41172
  Branches          ?     4217
=========================================
  Hits              ?    10740
  Misses            ?    28682
  Partials          ?     1750

Flag
Coverage Δ

unittests
26.08% <0.00%> (?)

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

Open another PR to do that.


Fix for Ruby 1.9.2 and exception safety inside hammertime_raise

This patch makes safe to use components inside 'hammertime_raise' which may raise exceptions. Moreover it makes Hammertime compatible with Ruby 1.9.x.
In order to avoid failure due to deeper exceptions thrown by other components that we may use we need to make sure that during 'hammertime_raise' the original 'Kernel::raise' is used. Otherwise an exception thrown, such as a ubiquitous 'LoadError' during 'require', leads to re-entering Hammertime's own version of raise.
The results of such reentrance are not obvious and are very misleading (such as the Mutex.Lock  <ThreadError: deadlock; recursive locking> that is manifested inside the Ruby VM when running Hammertime 0.0.2 on 1.9.x)
This fix is due to the work by Vassilis Vatikiotis (github.com/vvatikiotis) and myself.

Lets see,
if we define :
def raise(*args)
if Thread.current[:hammertime_raising]
# original raise, don't continue on
super
end
Thread.current[:hammertime_raising] = true
# do hammertime stuff
hammertime_raise(*args)
ensure
Thread.current[:hammertime_raising] = false
end
then the following test:
$broken = true
def faulty_method
raise "Oh no!" if $broken
end
3.times do |n|
puts "Attempt (#{n+1}/3)"
begin
faulty_method
puts "No error raised"
rescue => error
puts "Error raised: #{error.inspect}"
end
end
results in the following output:
Attempt (1/3)
=== Stop! Hammertime. ===
An error has occurred at thammertime.rb:8:in `faulty_method'
The error is: #<RuntimeError: Oh no!>
Error raised: #<ThreadError: deadlock; recursive locking>
Attempt (2/3)
=== Stop! Hammertime. ===
An error has occurred at thammertime.rb:8:in `faulty_method'
The error is: #<RuntimeError: Oh no!>
Error raised: #<ThreadError: deadlock; recursive locking>
Attempt (3/3)
=== Stop! Hammertime. ===
An error has occurred at thammertime.rb:8:in `faulty_method'
The error is: #<RuntimeError: Oh no!>

Continue (process the exception normally)
Ignore (proceed without raising an exception)
Permit by type (don't ask about future errors of this type)
Permit by line (don't ask about future errors raised from this point)
Backtrace (show the call stack leading up to the error)
Debug (start a debugger)
Console (start an IRB session)
What now?
...

From the above output it appears that the unmodified raised exceptions are handled by the test's rescue clause.
Hammertime doesn't seem to be able to get there for the first 2 attempts.  Why?
(assuming the code we wrote is what you suggested :-)
When inside hammertime_raise the subsequent call to
def self.debug_supported?
require 'ruby-debug'
@debug_support = true
rescue LoadError
warn "Unable to load ruby-debug"
warn "Gem not installed or debugging not supported on your platform"
@debug_support = false
end
is called, the require 'ruby-debug' raises  a LoadError which then calls the overloaded Hammertime raise again. But a call to super (or Kernel.raise) appears as an exception being re-raised from Hammertime's raise. Alas, it is handled by the top level rescue clause inside the test. After these exceptions (due to require 'ruby-debug') have been inhibited 2 times from the test's rescue, Hammertime's own exception handling runs. However since the require 'ruby-debug' has silently failed, pressing '6' to choose the debugger fails ungracefully although it may be present as an installed gem.

"But a call to super (or Kernel.raise) appears as an exception being re-raised from Hammertime's raise. Alas, it is handled by the top level rescue clause inside the test".
Now this is what is really confusing because it looks like the frame is at that point not as deep as it was supposed to be in order for the rescue(s) inside require_custom.rb to work :-/

Plot thickens... (or perhaps not)
when

Thread.exclusive do

is commented out from 'hammertime_raise'
Then the thread local storage version you suggested works!

We suspect that you had to use the 'Thread.exclusive' section because of the manipulation of 'module instance variables' such as '@stopped' , '@ignored_errors', etc. We could perhaps make them plain object instance variables in order to remove the critical section.
Although this doesn't explain the weird behaviour when 'Thread.exclusive' is used, do you see any problem with making the change to object instance variables (from module/class instance variables) and subsequently removing the critical section guard?

╰─$ bundle exec rails c
Loading development environment (Rails 3.0.11)
ruby-1.9.2-p180 :001 > require 'hammertime'
 => ["Hammertime"]
ruby-1.9.2-p180 :002 > rails "blaaaa"

=== Stop! Hammertime. ===
An error has occurred at /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:800:in `identify_identifier'
The error is: #<NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.to_ary>
<internal:prelude>:8:in `lock': deadlock; recursive locking (ThreadError)
	from <internal:prelude>:8:in `synchronize'
	from <internal:prelude>:27:in `exclusive'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:35:in `hammertime_raise'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:134:in `raise'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:231:in `rescue in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:224:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/linecache19-0.5.12/lib/linecache19.rb:69:in `<top (required)>'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:3:in `<top (required)>'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `<top (required)>'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:25:in `debug_supported?'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:93:in `block (2 levels) in hammertime_raise'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/highline-1.6.2/lib/highline/menu.rb:53:in `initialize'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/highline-1.6.2/lib/highline.rb:285:in `new'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/highline-1.6.2/lib/highline.rb:285:in `choose'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:105:in `block in hammertime_raise'
	from <internal:prelude>:28:in `block in exclusive'
	from <internal:prelude>:10:in `synchronize'
	from <internal:prelude>:27:in `exclusive'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:35:in `hammertime_raise'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:134:in `raise'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:58:in `raise_nil_warning_for'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:46:in `method_missing'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:800:in `identify_identifier'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:731:in `block in lex_int2'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/slex.rb:236:in `call'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/slex.rb:236:in `match_io'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/slex.rb:75:in `match'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in `token'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in `lex'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in `block (2 levels) in each_top_level_statement'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:155:in `eval_input'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:70:in `block in start'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:69:in `catch'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:69:in `start'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.11/lib/rails/commands/console.rb:44:in `start'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.11/lib/rails/commands/console.rb:8:in `start'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.11/lib/rails/commands.rb:23:in `<top (required)>'
	from script/rails:6:in `require'
	from script/rails:6:in `<main>'

I tryed to use your commit with 1.9.2 p180. Unfortunately, it failed as follows:

╰─$ bundle exec rails c                                                                                1 ↵
Loading development environment (Rails 3.0.11)
ruby-1.9.2-p180 :001 > require 'hammertime'
 => ["Hammertime"]
ruby-1.9.2-p180 :002 > raise "dooh"

=== Stop! Hammertime. ===
An error has occurred at /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:800:in `identify_identifier'
The error is: #
:8:in `lock': deadlock; recursive locking (ThreadError)
	from :8:in `synchronize'
	from :27:in `exclusive'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:35:in `hammertime_raise'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:134:in `raise'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:231:in `rescue in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:224:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/linecache19-0.5.12/lib/linecache19.rb:69:in `'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:3:in `'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:25:in `debug_supported?'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:93:in `block (2 levels) in hammertime_raise'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/highline-1.6.2/lib/highline/menu.rb:53:in `initialize'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/highline-1.6.2/lib/highline.rb:285:in `new'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/highline-1.6.2/lib/highline.rb:285:in `choose'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:105:in `block in hammertime_raise'
	from :28:in `block in exclusive'
	from :10:in `synchronize'
	from :27:in `exclusive'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:35:in `hammertime_raise'
	from /Users/roman/dev/meandyou/lib/hammertime.rb:134:in `raise'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:58:in `raise_nil_warning_for'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:46:in `method_missing'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:800:in `identify_identifier'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:731:in `block in lex_int2'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/slex.rb:236:in `call'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/slex.rb:236:in `match_io'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/slex.rb:75:in `match'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in `token'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in `lex'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in `block (2 levels) in each_top_level_statement'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:155:in `eval_input'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:70:in `block in start'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:69:in `catch'
	from /Users/roman/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb.rb:69:in `start'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.11/lib/rails/commands/console.rb:44:in `start'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.11/lib/rails/commands/console.rb:8:in `start'
	from /Users/roman/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.11/lib/rails/commands.rb:23:in `'
	from script/rails:6:in `require'
	from script/rails:6:in `'

Hi,
Perhaps you still use the older version not the patched one.
Doing this test over here:

require 'hammertime'
raise "dooh"

yields

Hammertime raise called

=== Stop! Hammertime. ===
An error has occurred at thammertime.rb:6:in `'
The error is: #
While raising inside Hammertime
Hammertime raise called
Hammertime raise called
1. Continue (process the exception normally)
2. Ignore (proceed without raising an exception)
3. Permit by type (don't ask about future errors of this type)
4. Permit by line (don't ask about future errors raised from this point)
5. Backtrace (show the call stack leading up to the error)
6. Debug (start a debugger)
7. Console (start an IRB session)
What now?
1
thammertime.rb:6:in `': dooh (RuntimeError)

Just now getting another chance to look at this. Can you please send me a test script (doesn't need to be a unit test, just a quick script) which demonstrates the issue? I'd like to fiddle with a few solutions, but I want to make sure I'm solving the right problem. Thanks!

This issue should be addressed now, see https://github.com/avdi/hammertime/commit/0d479f2550effb72e98ef5c47e836b481da2e7a3. When you get a chance please try it out and let me know if it works for you. Thanks!


Hello aidgent

@Aidgent write "let's build together" to the readme.md

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/ee8110ce3137604660575141b8315b05cef.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.


[0.5pt] Set up the project with Webpack and Jest- group task

Set up Gitflow
Set up webpack
Set up a JavaScript testing library (Jest)

We added:

Jest
Webpack
Gitflow


Hardcoded style validation

Check this https://validator.ampproject.org/#url=https%3A%2F%2Fwww.orientacoesmedicas.com.br%2F%3Famp

There was some plugin that is interfering with the issue.


Make test deployments easy

@chalin has sometimes run dart-doc-syncer before tests have passed, because dds is faster than the tests, and being able to visit the running apps makes spot checking is easy.
It'd be nice if it were easy to automate a local-only version of dds. So... thinking of what'd be necessary... you'd copy all the files locally and start a server, plus you'd have a list of all the examples so it'd be easy to spot check them.
Perhaps this could be added to --dry-run?
Which reminds me... we should document the command-line options in the README. I can do that.

You can use --no-push.

You can use either/or --dry-run and/or --no-push. The former doesn't actually build any of the apps. The latter, builds the apps but doesn't do the final step of pushing to the example repos. Most often I'll use --no-push in conjunction with --keep-tmp, which will allow me to inspect the built apps after dds is done.
The cmd line options are documented:
------------------------------------------------------------------

Syncs Angular docs example applications..

Usage: dart_doc_syncer [options] [<exampleName> | <examplePath> <exampleRepo>]

-h, --help           show this usage information
-b, --branch         <branch-name>
                     git branch to fetch examples from
                     (defaults to "master")

-n, --dry-run        show which commands would be executed but make (almost) no changes;
                     only the temporary directory will be created

-f, --force-build    forces build of example app when sources have not changed
-k, --keep-tmp       do not delete temporary working directory (.tmp) once done
-p, --[no-]push      prepare updates and push to example repo
                     (defaults to on)

-m, --match          <dart-regexp>
                     sync all examples having a data file (.docsync.json)
                     and whose repo path matches the given regular expression;
                     use "." to match all

-u, --user           <user-id>
                     GitHub id of repo to fetch examples from
                     (defaults to "dart-lang")

-v, --verbose

------------------------------------------------------------------

Closing this since I believe that the original concerns have been addressed. If not, let me know.


Adding two more image builds

Adding watcher-agent and nf-deploy-controller

@radoslawc few nits on this. I'm just wondering if it's possible to split this configuration file in many for better readability.

@electrocucaracha it is possible, yes. But it will require some changes that I'm bit reluctant to do before R1, but it is on TODO list

/lgtm


AVPlayerLayer frame doesn't fit into UIView for video player

Hello!. I'm trying to replicate this in my app I got the minimising feature right but couldn't get AVPlayerPlayer to fit into the UIView for a video player in my code,  I have set this playerLayer.frame =  self.videoPlayerView.frame         self.videoPlayerView.layer.addSublayer(playerLayer) but it still not inside of it. Where in the code could I be getting it wrong? It's just a thin rect at the middle of the screen as shown in the screenshot.

Okay I found a way to fix it using Apple's documentation of AVPlayerLayer.


Change types in traverseArrayImpl to be more truthful

Description of the change
This PR changes the types of traverseArrayImpl to be more true to how they are actually used.
This changes traverseArrayImpl from
traverseArrayImpl
  :: forall m a b
   . (m (a -> b) -> m a -> m b)
  -> ((a -> b) -> m a -> m b)
  -> (a -> m a)
  -> (a -> m b)
  -> Array a
  -> m (Array b)

to
traverseArrayImpl
  :: forall m a b
   . (forall x y. m (x -> y) -> m x -> m y)
  -> (forall x y. (x -> y) -> m x -> m y)
  -> (forall x. x -> m x)
  -> (a -> m b)
  -> Array a
  -> m (Array b)

traverseArrayImpl is called like the following:
instance traversableArray :: Traversable Array where
   traverse = traverseArrayImpl apply map pure

Here the apply, map, and pure functions are all polymorphic in their arguments (the x and y in the changed type above), so this new type for traverseArrayImpl is more true.
Also, in the FFI files for traverseArrayImpl, apply, map, and pure are used as if they are polymorphic.  For instance, pure is used on an Array, not an a:
https://github.com/purescript/purescript-foldable-traversable/blob/d581caf260772b1b446c11ac3c8be807b290b220/src/Data/Traversable.js#L37

Checklist:

[ ] Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
[x] Linked any existing issues or proposals that this pull request should close
[x] Updated or added relevant documentation
[x] Added a test for the contribution (if applicable)

Added the change to the changelog's "Unreleased" section with a reference to this PR

Does this change require an addition to the changelog?
While changing the type of traverseArrayImpl would be a breaking change for backend implementors, I don't think it is actually possible to implement traverseArrayImpl with the current, non-polymorphic type.  So I imagine alternative backend implementors have already taken this into account.  In practice, I doubt any of the alternative backends will have to make any changes because of this PR.


Update Kazakhstani tenge (KZT) symbol from лв to ₸

A user reported that this currency symbol is incorrect, and a quick check on Wikipedia verified the correct symbol.

Looks sweet to me - is editing the file the place we've been making these changes previously? The only flag for me was the file name is after an ISO standard, so just as long as it's intended that we edit it.

@maknz yeah correct, have a look at the history of that file on the ps-prod branch. Also just FYI - I also pushed a change to the iso_spec file so that the test still passes for this currency.


SharePoint Online Provisioning Service -  Microsoft 365 learning pathways site

Category

[ ]   Question
[ ]   Typo
[X]   Bug
[ ]   Additional article idea

Expected or Desired Behavior
Site should be created as mentioned on the following link:
https://provisioning.sharepointpnp.com/home/details?packageId=3df8bd55-b872-4c9d-88e3-6b2f05344239
Steps to Reproduce
Go to https://provisioning.sharepointpnp.com/
Click on Solution then choose Microsoft 365 learning pathways template
Click Add to Tenant
Click Provision
Click Confirm in the pop-up confirmation screen
Wait for the email after the provision#### Submission Guidelines
I got the followling error message by email :

SharePoint     Online Provisioning Service     Unfortunately, your     request to provision     "Custom     learning for Office 365"      template failed.
SharePoint     Online Provisioning Service     Unfortunately, your     request to provision     "Custom     learning for Office 365"      template failed.

SharePoint     Online Provisioning Service     Unfortunately, your     request to provision     "Custom     learning for Office 365"      template failed.

Here is the exception that occurred:     Type = System.Net.WebException Message = The remote server     returned an error: (404) Not Found. Source = System Status = ProtocolError     Response = System.Net.HttpWebResponse TargetSite = System.Net.WebResponse     EndGetResponse(System.IAsyncResult) StackTrace = at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult     asyncResult) at     System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar,     Func2 endFunction, Action1 endAction, Task1 promise, Boolean     requiresSynchronization) --- End of stack trace from previous location     where exception was thrown --- at     System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)     at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at Microsoft.SharePoint.Client.SPWebRequestExecutor.d__0.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContext.d__b.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContext.d__8.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at Microsoft.SharePoint.Client.ClientContext.d__4.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContextExtensions.d__7.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at Microsoft.SharePoint.Client.ClientContextExtensions.d__7.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientObjectExtensions.d__52.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientObjectExtensions.EnsureProperty[T,TResult](T     clientObject, Expression1 propertySelector) at     OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ObjectHierarchySequenceSites.ProvisionObjects(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId, TokenParser     tokenParser, ProvisioningTemplateApplyingInformation applyingInformation)     at     OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.SiteToTemplateConversion.ApplyProvisioningHierarchy(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId,     ProvisioningTemplateApplyingInformation provisioningInfo) at Microsoft.SharePoint.Client.TenantExtensions.ApplyProvisionHierarchy(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId,     ProvisioningTemplateApplyingInformation applyingInformation) at     SharePointPnP.ProvisioningApp.WebJob.ProvisioningFunction.d__2.MoveNext()     in     C:\github\sp-provisioning-service\SharePointPnP.ProvisioningApp\SharePointPnP.ProvisioningApp.WebJob\ProvisioningFunction.cs:line     389 HResult = -2146233079 | Here is the exception that occurred:     Type = System.Net.WebException Message = The remote server     returned an error: (404) Not Found. Source = System Status = ProtocolError     Response = System.Net.HttpWebResponse TargetSite = System.Net.WebResponse     EndGetResponse(System.IAsyncResult) StackTrace = at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult     asyncResult) at     System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar,     Func2 endFunction, Action1 endAction, Task1 promise, Boolean     requiresSynchronization) --- End of stack trace from previous location     where exception was thrown --- at     System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)     at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at Microsoft.SharePoint.Client.SPWebRequestExecutor.d__0.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContext.d__b.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContext.d__8.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at Microsoft.SharePoint.Client.ClientContext.d__4.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContextExtensions.d__7.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at Microsoft.SharePoint.Client.ClientContextExtensions.d__7.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientObjectExtensions.d__52.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientObjectExtensions.EnsureProperty[T,TResult](T     clientObject, Expression1 propertySelector) at     OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ObjectHierarchySequenceSites.ProvisionObjects(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId, TokenParser     tokenParser, ProvisioningTemplateApplyingInformation applyingInformation)     at     OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.SiteToTemplateConversion.ApplyProvisioningHierarchy(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId,     ProvisioningTemplateApplyingInformation provisioningInfo) at Microsoft.SharePoint.Client.TenantExtensions.ApplyProvisionHierarchy(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId,     ProvisioningTemplateApplyingInformation applyingInformation) at     SharePointPnP.ProvisioningApp.WebJob.ProvisioningFunction.d__2.MoveNext()     in     C:\github\sp-provisioning-service\SharePointPnP.ProvisioningApp\SharePointPnP.ProvisioningApp.WebJob\ProvisioningFunction.cs:line     389 HResult = -2146233079
Here is the exception that occurred:     Type = System.Net.WebException Message = The remote server     returned an error: (404) Not Found. Source = System Status = ProtocolError     Response = System.Net.HttpWebResponse TargetSite = System.Net.WebResponse     EndGetResponse(System.IAsyncResult) StackTrace = at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult     asyncResult) at     System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar,     Func2 endFunction, Action1 endAction, Task1 promise, Boolean     requiresSynchronization) --- End of stack trace from previous location     where exception was thrown --- at     System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)     at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at Microsoft.SharePoint.Client.SPWebRequestExecutor.d__0.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContext.d__b.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContext.d__8.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at Microsoft.SharePoint.Client.ClientContext.d__4.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientContextExtensions.d__7.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at Microsoft.SharePoint.Client.ClientContextExtensions.d__7.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientObjectExtensions.d__52.MoveNext()     --- End of stack trace from previous location where exception was thrown     --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task     task) at     System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task     task) at     Microsoft.SharePoint.Client.ClientObjectExtensions.EnsureProperty[T,TResult](T     clientObject, Expression1 propertySelector) at     OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ObjectHierarchySequenceSites.ProvisionObjects(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId, TokenParser     tokenParser, ProvisioningTemplateApplyingInformation applyingInformation)     at     OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.SiteToTemplateConversion.ApplyProvisioningHierarchy(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId,     ProvisioningTemplateApplyingInformation provisioningInfo) at Microsoft.SharePoint.Client.TenantExtensions.ApplyProvisionHierarchy(Tenant     tenant, ProvisioningHierarchy hierarchy, String sequenceId,     ProvisioningTemplateApplyingInformation applyingInformation) at     SharePointPnP.ProvisioningApp.WebJob.ProvisioningFunction.d__2.MoveNext()     in     C:\github\sp-provisioning-service\SharePointPnP.ProvisioningApp\SharePointPnP.ProvisioningApp.WebJob\ProvisioningFunction.cs:line     389 HResult = -2146233079

PnP     Correlation ID: 7e61ca2c-dd3f-41c5-bbf5-bf8d523dfc26          Please submit any unexpected exception using the following issues list: aka.ms/spdev-issues | PnP     Correlation ID: 7e61ca2c-dd3f-41c5-bbf5-bf8d523dfc26          Please submit any unexpected exception using the following issues list: aka.ms/spdev-issues
PnP     Correlation ID: 7e61ca2c-dd3f-41c5-bbf5-bf8d523dfc26          Please submit any unexpected exception using the following issues list: aka.ms/spdev-issues
Can someone help me with this ?

Hi, Thanks for your feedback. I'm closing this item because it is now outdated.


UI: Date/time picker in the expression browser uses local time of the browser.

While the display is in UTC as intended.
Broadly related: #1616 #500

Visually this looks like the following.  (Local time was US Pacific Daylight Savings: UTC -0700)

I spent some time looking at this today, but I'm not a front end developer.  I've seen conflicting google results if setting the correct timezone is just an option to the datetimepicker or not.  Is there any additional background here?
How can I help move this forward or get up to speed to build a patch?

I can just say it's very annoying to not have the picker it UTC as the display. I would like to believe it should be a super easy fix but I'm not a frontend dev either.

Seems there's an undocumented timezone option:
https://github.com/Eonasdan/bootstrap-datetimepicker/issues/2118
On Tue, 12 Sep 2017, 15:43 Björn Rabenstein<EMAIL_ADDRESS>wrote:

I can just say it's very annoying to not have the picker it UTC as the
display. I would like to believe it should be a super easy fix but I'm not
a frontend dev either.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/issues/2371#issuecomment-328857053,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJbsAoUX3fXxMKsmr4WH5dFeq3G8sqXks5shop2gaJpZM4Lurrg
.

Fixed by #3182, many thanks, @yamatoya


Fix build docs for non unix (second attempt)

Fix error found on building docs in gtk-rs/gdk#194

Aaaaaaah! Now I see! But isn't it strange that windows build is just working fine already?

unix_socket_address.rs included only on unix or dox

CI passed

Let's check on gdk now! :)


[1.29] Docs Lead Owner Approval

Hey y'all,
I am requesting that I be temporarily added as an approver while I am the docs lead for the v1.29 release cycle.
cc: @reylejano

/approve

/lgtm


x/net/http2: TestTransportFlowControl takes 31 seconds on OpenBSD

TestTransportFlowControl takes 31 seconds on OpenBSD, but 1.8 seconds on the same hardware on Linux.
Why?
/cc @tombergan who suspects relation to #15899
/cc @mdempsky @4a6f656c

Also, maybe on plan9?
https://build.golang.org/log/56ad9ce8572775821da69056b2af5765af029c5b
Unsure.

The lost time is in the call to sleep in the read loop.
TL;DR; Ask OpenBSD (at least an amd64 6.2 OpenBSD) to sleep for 1 millisecond, and it will sleep for 20 times that. So tests that use a 1ms sleep in each iteration will take a lot longer on OpenBSD.
I tried this on Debian Linux, FreeBSD and OpenBSD. All amd64 virtual machines.
Each reads and writes in 65536 byte chunks. Each iterates the write loop 1600 times. Linux needs 1600 iterations for the read loop, and the two BSDs need 1601 iterations.
The request for a 1 ms sleep in each iteration of the read loop is actually taking 18 to 22 ms on OpenBSD. The same call takes just over a ms on a similarly setup FreeBSD machine and even closer to a single ms on a similarly setup Debian machine.
Since the resolution seems to be around 20ms for OpenBSD, and it is the worst offender of the three I tested, I added logic around the call to sleep so it would only be called once every 20 times through the loop, and changed the request to sleep from 1ms to 20ms. This improved the results for OpenBSD without making things worse for FreeBSD or Linux. The TestTransportFlowControl test can be made to succeed in about 2 seconds. Here are the three values I got.
Linux: 1.7s
FreeBSD: 2.0s
OpenBSD: 2.5s
The accuracy of the Linux sleep is much higher than the BSDs' sleep. The Linux sleep for 20ms averaged taking 20.3ms, FreeBSD averaged 24ms and OpenBSD averaged 30ms.
That's not a typo. The call time.Sleep(20 * time.Millisecond),
with two calls to time.Now before and after, takes on average 30 milliseconds on OpenBSD. They just don't want to give you an accurate timer for security reasons I think. If you ask to sleep for one millisecond, they make you sleep about 20 milliseconds on average. But ask for 20, and you get between 24 and 40, with the average being 30.
Any golang tests that try to use a 1 millisecond timer on OpenBSD are not going to compare well with results from the other OSes.
To convince myself this wasn't some other fault of golang, I wrote a trivial c program to call nanosleep 1000 times for 1ms each. Sure enough, on Linux and FreeBSD, the program took just over a second to run. On OpenBSD, it took just over 20 seconds to run. Even a C program can't expect to sleep for 1ms at a time on OpenBSD.


Shouldn't crash if edit-urls results in malformed urls file

With 7ceb804:

edit-urls (E);
type something that will cause a syntax error, i.e. "query:whatever:";
save and exit.

Newsbeuter crashes without displaying any errors.
Expected result: should probably ignore the edits (or save them somewhere else) and tell the user that an error was encountered on line N.

Breaking out gdb shows this stack:

src/controller.cpp:1279
src/cache.cpp:420
src/rss.cpp:485

Which calls throw _s("too few arguments"); as part of parsing the "query" string, and it's never caught.
I can write some tests to catch this, then put another exception handler next to the dbexception handler in src/controller.cpp.
Restarting Newsbeuter with the incorrect URL entry does already throw a proper error message.

put another exception handler next to the dbexception handler in src/controller.cpp.

There's a couple of those already, hard to tell which one you have in mind.
I think we should put the handler right where we process edit-urls command: we try to read new urls file and if it throws, we display an error and carry on with the old file. I also think we should restore the file to its previous state (known to be valid because we started with it) and save user's edits somewhere near. Well, just imagine what you as a user will like to have :)j
If that sounds interesting to you, you're very welcome to work on this; and thanks!

Well, my fix was going to be:
diff --git a/src/controller.cpp b/src/controller.cpp
index f139dec..848024e 100644
--- a/src/controller.cpp
+++ b/src/controller.cpp
@@ -1283,6 +1283,8 @@ void controller::reload_urls_file() {
                        } catch(const dbexception& e) {
                                LOG(level::ERROR, "controller::reload_urls_file: caught exception: %s", e.what());
                                throw;
+                       } catch(const std::string& str) {
+                               LOG(level::ERROR, strprintf::fmt(_("Error while loading feed '%s': %s"), url, str));
                        }
                }
                i++;

This will catch the error in a similar manner as on startup, but in this case, it will log the error, not throw an exception, and ignore the errored line.  The line will continue to error and quit on next startup of Newsbeuter.
Having the edit save and possibly restore the file is much grander in scope, and might be a significant feature.  This starts getting out of my fix-a-random-bug-so-I-feel-better-instead-of-stalling-on-something-else requirement that I was starting this issue with.
If you want this patch as a PR, it does work fine.  Otherwise, this is a much larger feature.

Ah, okay then. I'll wait for someone else to implement the feature, or get around to doing it myself.
Don't see much sense in silencing the exception because:

no-one reported this bug before me, so no-one probably even ran into it yet;
silencing the exception is a temporary measure that'll have to be removed when we implement the feature. It's just doing more work to make ourselves do yet more work later. :)

Thanks for poking around, though. Even quick and small bugfixes and feature implementations count.


Add a testing cmake macro

This resolves some lingering issues from https://github.com/LLNL/serac/pull/515 . Specifically, it adds a serac-specific testing macro and GTEST_ENABLED checks, removing a considerable amount of boilerplate code.

Resolves https://github.com/LLNL/serac/issues/520

Codecov Report

Merging #522 (f0d0f37) into develop (911790c) will increase coverage by 1.06%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #522      +/-   ##
===========================================
+ Coverage    94.99%   96.06%   +1.06%
===========================================
  Files           98      101       +3
  Lines         5938     6254     +316
===========================================
+ Hits          5641     6008     +367
+ Misses         297      246      -51

Impacted Files
Coverage Δ

...erac/infrastructure/tests/serac_error_handling.cpp
100.00% <0.00%> (ø)

src/serac/infrastructure/tests/serac_profiling.cpp
100.00% <0.00%> (ø)

src/serac/infrastructure/tests/serac_input.cpp
100.00% <0.00%> (ø)

src/serac/physics/utilities/equation_solver.cpp
84.86% <0.00%> (+0.54%)
:arrow_up:

src/serac/physics/base_physics.cpp
96.92% <0.00%> (+1.53%)
:arrow_up:

src/serac/physics/utilities/variant.hpp
98.41% <0.00%> (+4.76%)
:arrow_up:

src/serac/infrastructure/cli.cpp
94.59% <0.00%> (+5.40%)
:arrow_up:

src/serac/physics/utilities/boundary_condition.cpp
91.30% <0.00%> (+15.21%)
:arrow_up:

src/serac/infrastructure/input.cpp
93.86% <0.00%> (+18.40%)
:arrow_up:

Continue to review full report at Codecov.

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


Confusion with channels

I've been trying out the new channels option and it works great. But I got confused for a while by an argument name in the sample code.
I refactored the sample code to work with my pouchdb changes event stream and ended up with (omitting some of the db options parameter details)
function createChangeChannel (...) {
  // every change event will call put on the channel
  let subscriber = (listener)=>{
    let monitor = db.changes({ ... })
      .on('change', (data)=>listener(data))
      .on('complete', listener(END))
      .on('error', error => console.error('changes_error', error));
      // The subscriber must return an unsubscribe function
      return () => monitor.cancel();
    };
  return eventChannel(subscriber, buffers.fixed());
}

export default function * monitorChanges () {
  const channel = yield call(createChangeChannel, ...);
  while (true) {
    const change = yield take(channel); // Blocks until the promise resolves
    // handle the change somehow
  }
}

I had made a dumb mistake and got the following error
utils.js?1f12:186 uncaught at monitorChanges
 TypeError: listener must be a function

which confused me considerably because in my code listener is clearly a function.
I eventually figured out that it wasn't refering to the anything in my code named listener but to what was attached to one of the event sources. I need to change the second one to
  .on('complete', ()=>listener(END))

That got me thinking. It seems to me, that the function that gets passed to the subscriber and is named and described in the documentation as listener isn't really a listener function but is something that is used by one. Isn't it's more like putEventOnChannel and would it be clear if a name along those lines was used in the documenation?

Agreed. So I use emit instead of listener in my project and examples.
https://github.com/kuy/redux-saga-examples/blob/master/startstop/sagas.js#L50
https://github.com/kuy/redux-saga-examples/blob/master/microblog/firebase.js#L8
https://github.com/kuy/redux-saga-chat-example/blob/master/src/client/sagas.js#L18
function subscribe(socket) {
  return eventChannel(emit => {
    socket.on('users.login', ({ username }) => {
      emit(addUser({ username }));
    });
    socket.on('disconnect', e => {
      // TODO: handle
    });
    // ...
  });
}

Agree. emitter or channelEmitter seems more appropriate

I was going to make a PR for a couple of other minor things in the documentation so I'll make this change at the same time if that is OK with you.

It's ok. Thanks


🧹 Clean up MessageHandlerTest with batch_state/1 function

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#774  👈 (View in Graphite)
#773
#772
#771
#770
#769
#768
#767
main

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


Change  eceived to  Received

It looks like there should have been an "R" at the start of this word.

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

File
Status
Preview URL
Details

outlook/Concepts/Forms/difference-between-a-field-and-a-column.md
:white_check_mark:Succeeded
View

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

@kevinmartintech Thanks so much! Good catch.