Proposal: Improve error handling

Currently the contract is Req.request(req) :: {:ok, Req.Response.t()} | {:error, Exception.t()}, that is, users of the library might get arbitrary exceptions.
In recent releases we added a few Req exceptions:

Req.TooManyRedirectsError - previously we were raising a RuntimeError, now we return this exception

Req.TransportError - previously we were returning Mint.TransportError. We added this struct because we want to have Req.Test.transport_error(conn, reason) and so should have a Req specific exception.

Currently we automatically retry "transient errors". By that we mean 408/429/500/502/503/504 responses and exceptions with reason: :timeout | :econnrefused | :closed. We don't check the exception struct, just the reason.
We have a few issues:

#244 - should we retry all Req.TransportError exceptions? My rationale as not to was that for reason: :nxdomain it is very unlikely that retrying such would ever be successful, usually it's a typo in domain name, and so I would not consider it "transient". (IPv4/IPv6 mismatch shows up as this one too to further complicate things however.)

#295

Similarly to above, at the moment we are crashing when decoding invalid tar and zip.

#333

#329

Finch has Finch.Error exception. Should it (or just particular :reason values) be considered transient?

Proposal

Add %Req.HTTPError{reason: reason, protocol: :http1 | :http2}. It standardizes Mint.HTTPError and Finch.Error.

"transient error" means one of:

response 408/429/500/502/503/504,

%Req.TransportError{reason: :closed | :econnrefused | :closed}.

%Req.HTTPError{reason: :unprocessed, protocol: :http2}

Remove compatibility guarantee (-ish, we're still pre 1.0 after all) for what "transient error" is, that is, document that we can add new status codes and exception structs/reasons in the future.
If someone is really concerned about it, they'd explicitly configure :retry for their needs.

Add Req.DecodeError:
%Req.DecodeError{
  format: :json | :tar | :zip | atom(), # atom() for user provided decoders
  position: non_neg_integer | nil,
  data: binary
}

This matches %Jason.DecodeError{position:, data:}. (There would be an additional private :token field which Jason.DecodeError has too.)
The :position field would only be used by JSON decoding at the moment but I think that's OK. There's some additional uncertainty given OTP 27 :json module; at the moment the decoding error does not return the byte offset but FWIW EEP-68 says:

The exceptions might be enhanced through the Error Info mechanism with additional meta-data like byte offset where the error occurred.

I'm on a fence whether to have %Req.DecodeError{}.data or .response, a full response struct as mentioned in #295.

Add Req.DecompressError:
%Req.DecompressError{
  format: :gzip | :br | :zstd,
  data: binary()
}

Regarding Req.DecodeError and Req.DecompressError, I personally don't intend to gracefully handle those in my apps but even though Req is very opinionated, I believe with regards to raising/returning errors it's probably better to be less opinionated nad return errors so users can work with them however they want.

OK, one way to think about different errors is whether to normalise them or not. It makes sense to normalise Mint.TransportError->Req.TransportError and Mint.HTTPError|Finch.Error->Req.HTTPError because then retry step just looks at these standardised errors. Furthermore, these errors are very well specified.
The problem with Req.DecodeError is custom decoders might have more specialised and appropriate errors and so we shouldn't try to shoehorn them into Req.DecodeError. Let's nor normalise them. Instead let's do the following.
decode_body will:

return %Jason.DecodeError on invalid JSON.
return %Req.ArchiveError{format: :zip | :tar, reason: any} on invalid zip/tar. Custom steps may use this exception but they don't have to.

Similarly, decompress_body will return %Req.DecompressError{format: :gzip | :br | :zstd, reason: any}. Custom steps authors may use this exception but they don't have to.

Separately, or perhaps as part of this proposal, would it also make sense to promote the generic runtime exception to be a Req-specific exception?
For context, today when using http_errors: :raise option in requests, a generic runtime exception is raised:
https://github.com/wojtekmach/req/blob/7616d399914eb28377d9fa7fdb0b0a0273e181cb/lib/req/steps.ex#L2066-L2069
Having a generic runtime error can be inconvenient in situations, when using defimpl Plug.Exception (e.g. in Phoenix) to catch errors that are very specific, and to then wrap them in custom error representation.
To be able to catch exception coming from Req & handle it in a custom way, today I could probably do:
defimpl Plug.Exception, for: RuntimeError do
   # ...
end

or:
defmodule MyCustomError do
  defexception message: "That other backend is currently failing us"
end

defimpl Plug.Exception, for: MyCustomError do
  def status(_exception), do: 503
end

defmodule MyHTTPClient do
  def my_request(simulate_code) do
    try do
      url = "https://httpstat.us/#{simulate_code}"

      Req.post!(Req.new(),
        url: url,
        http_errors: :raise,
        headers: [{"content-type", "application/json"}]
      )
    rescue
      _e in RuntimeError ->
        raise MyCustomError
    end
  end
end

MyHTTPClient.my_request(503)

2nd option could probably be fine, but if I have several different HTTP client modules each using Req, with each module implementing 5-10 functions to call API individual endpoints, wrapping each with try/rescue can get quite repetitive. So I would need to roll my own abstraction to reduce duplication introduced by try/rescue. This made me wondering whether Req couldn't assist here by providing a custom exception struct out of the box? 🤔

@gmile there are multiple prior discussions about :http_errors feature, whether it should return an exception and if so, what kind of exception. It's a bit awkward feature to be completely honest.
I think in your particular case you're gonna be better off by simple pattern matching on the result. Or replace that step with a custom one that returns your custom exception.

@wojtekmach thanks, your comment made me look into documentation for implementing steps, as I haven't explored it before. I ended up with something that looks quite sensible:

defmodule ExternalServiceError do
  defexception [:message, :status]
end

defimpl Plug.Exception, for: ExternalServiceError do
  def status(exception), do: exception.status
  def actions(_exception), do: []
end

defmodule ExternalServiceClient do
  def request(simulate_code) do
    Req.new()
    |> Req.Request.append_response_steps(custom_error_handling: &custom_error_handling/1)
    |> Req.post!(
      url: "https://httpstat.us/#{simulate_code}",
      headers: [{"content-type", "application/json"}]
    )
  end

  defp custom_error_handling({request, response}) when response.status in 400..499 do
    {request, %ExternalServiceError{status: response.status, message: "We're doing something wrong"}}
  end

  defp custom_error_handling({request, response}) when response.status >= 500 do
    {request, %ExternalServiceError{status: response.status, message: "They're doing something wrong"}}
  end

  defp custom_error_handling({request, response}) do
    {request, response}
  end
end

Also, I realized that this way ^ I can also have custom, per-service error messages I want to show to my API users via ErrorJSON in Phoenix.
Feel free to mark my comments as off-topic :+1:

I would not talk about the RuntimeError that @gmile mentioned, agreed that it's off topic and this has the potential to be a beefy discussion already 😄
@wojtekmach said:

The problem with Req.DecodeError is custom decoders might have more specialised and appropriate errors and so we shouldn't try to shoehorn them into Req.DecodeError.

I agree. No shoehoring. However, having Req.request/1 return {:error, Exception.t()} with any exception is too liberal IMO.
What I mean is: if Req.request/1 returns {:error, %Jason.DecodeError{}} I’m gonna be confused as hell, because where did the JSON error happen? Decoding the body? In a custom step that decodes a JSON within a header? No clue.
Instead, other than the beautiful errors you already mentioned, you could have:
defmodule Req.DecodeError do
  defstruct [:exception_reason, :maybe_more_fields_in_the_future]

  @type t() :: %__MODULE__{
    exception_reason: Exception.t(),
    # ...
  }
end

This way anyone can just put their nice errors within this decode error, but Req can add all sorts of useful info. Thoughts?

having Req.request/1 return {:error, Exception.t()} with any exception is too liberal IMO.

The way I see it we either have:

status quo where user can define custom steps and they can return arbitrary errors OR

a set of possible Req.*Error structs that step authors have to shoehorn arbitrary errors into. I'd consider exceptions containing exceptions in this category (nothing wrong with it) and people writing custom steps would probably end up wanting a generic error, say Req.Error, to put their custom error into. And if we have a generic Req.Error struct we're back to square 1, we don't know where it came from. So I'm not sure about this route. OR

we embrace exception in exception and have a single Req.Error{step: atom, reason: Exception.t | term()} with something like:
def message(%{step: step, reason: %{__exception__: true} = e) do
  "#{step} failed: " <> Exception.message(e)
end
def message(%{step: :verify_checksum, reason: %{expected: x, actual: x}) do
  ...
end

dunno, I kind of like the recent ones like Req.ChecksumMismatchError.

So yeah I am leaning towards 1, status quo.

exceptions in exceptions, I'm just gonna call them wrapper exceptions, are not very common in Elixir, are they? One thing that is really appealing is keeping the original exception which has its own implementation. For example, I proposed to have a %Req.HTTPError{protocol: :http1 | :http2, reason: term} which is... tricky because:
defexception Mint.HTTPError do
  def message(%{module: module, reason: reason}) do
    module.format_error(reason)
  end
end

and so what do I do, convert %Req.HTTPError{protocol: :http1} back to Mint.HTTPError{module: Mint.HTTP1}? But what about errors coming from other adapters? (not that realistically speaking there will be other ones but still.) I don't think it's gonna work out, I haven't thought that through.

Just to be clear, I think Req.DecodeError wrapper exception is an interesting idea. But to address this directly:

What I mean is: if Req.request/1 returns {:error, %Jason.DecodeError{}} I’m gonna be confused as hell, because where did the JSON error happen? Decoding the body? In a custom step that decodes a JSON within a header? No clue.

How does it actually play out? I think if you're explicitly checking for error in your code, pattern matching and similar, at this point you most likely want full control so might as well set decode_body: false and decode manually especially since at this point you are probably expecting one particular format (eg JSON) anyway. And when you don't handle it explicitly, let it crash, then something like a Sentry alert would get Jason.DecodeError with stack trace (so we know where it came from) and that exception has data field with data failing to decode so you have some idea what it is.
So yeah, not sure.

status quo where user can define custom steps and they can return arbitrary errors OR

My hunch is that this is too liberal. You're essentially allowing users to customize the return value of your library's function, which is a bit too free I guess for my tastes. So, while wrapper exceptions are not common in Elixir, this is a case where they sort of make sense to me because you standardize on an error (Req.DecodeError) but allow users to customize the info inside it. Also, you keep the option open for the future, still.

we embrace exception in exception and have a single ...

Nah, I really think most Req-defined exceptions make a lot of sense, like the too many redirects or checksum mismatch or whatever.

OK, before solving Req.DecodeError as I alluded to there's a problem with Req.HTTPError that I'd like to address first.
We need to transform Mint.HTTPError and Finch.HTTPError structs to Req.HTTPError. Ideally we have a helpful Exception.message/1 callback implementation. While less of a practical concern at the moment, Req supports arbitrary adapters and so if new ones appear and they have custom errors with good messages, we'd like to take advantage of them.
As a reminder we want to standardise exceptions coming from adapters in general and retry on some of them in particular. We want to retry %Mint.HTTPError{module: Mint.HTTP2, reason: :unprocessed} and possibly others. I'm not sure it matters but the http1/http2 distinction might be worth to keep and hence my idea for protocol: :http1 | :http2.
I believe we have these options:
Option 1: don't sweat it
defmodule Req.HTTPError do
  defexception [:protocol, :reason]

  @impl true
  def message(%{protocol: protocol, reason: reason}) do
    "#{protocol} error: #{inspect(reason)}"
  end
end

Option 2: Best effort and otherwise don't sweat it
defmodule Req.HTTPError do
  defexception [:protocol, :reason]

  @impl true
  def message(%{protocol: :http1, reason: reason}) do
    Mint.HTTP1.format_error(reason)
  rescue
    FunctionClauseError ->
      "#{protocol} error: #{inspect(reason)}"
  end

  def message(%{protocol: :http2, reason: reason}) do
    Mint.HTTP2.format_error(reason)
  rescue
    FunctionClauseError ->
      "#{protocol} error: #{inspect(reason)}"
  end
end

Option 3: Extensible using :module field
defmodule Req.HTTPError do
  defexception [
    :protocol,
    :reason,
    # module is considered private
    :module
  ]

  @impl true
  def message(%{module: module, reason: reason}) when module in [Mint.HTTP1, Mint.HTTP2] do
    module.format_error(reason)
  end

  # At the moment Finch has HTTP2-specific Finch.Error. Req finch adapter could transform it
  # into %Req.HTTPError{protocol: :http2, reason: reason, module: Finch}. In other words,
  # `module: Finch` is a sentinel value.
  def message(%{module: Finch, protocol: :http2, reason: reason}) do
    "#{protocol} error: #{inspect(reason)}"
  end

  def message(%{module: module, protocol: protocol, reason: reason}) do
    module.format_http_error(protocol, reason)
  end
end

Any other options?
Btw, at the moment Req.TransportError is the following:
defmodule Req.TransportError do
  defexception [:reason]

  @impl true
  def message(%__MODULE__{reason: reason}) do
    Mint.TransportError.message(%Mint.TransportError{reason: reason})
  end
end

and I wouldn't sweat it, these errors should mostly be POSIX errors + :closed, :timeout, etc so pretty uniform. However a similar :module approach could be used.
Anyway, I wanted to mention all this with relation to the potential %Req.DecodeError{exception: Exception.t} because it is attacking the same problem, have standardised exception struct name and possible other fields + good Exception.message/1 implementation.

@wojtekmach I don't have a strong preference on any of these. I guess my soft preference would be to start out with :protocol/:reason, you can always add the private :module field later.

I’d too start small but then again how do we actually implement it? Option 1 or option 2 or there is another option I didn’t consider?

I like two personally but again, they're easily swappable so I’m not sure it's a blocker?

Good point, thanks, I'll go with that.

OK, so about %Req.DecodeError{exception: %Jason.DecodeError{}}.
I think it's definitely compelling to have an exception struct that I control so that I can grow it in the future.
I kind of like this uniformity: decode_body(Req.Request.t) :: {Req.Request.t, Req.Response.t | Req.DecodeError.t}.
I'm planning to add exception that represents possible zip/tar errors that decode_body supports to, I'm thinking: Req.ArchiveError{format: :tar, reason: :eof}. And so %Req.DecodeError{exception: %Req.ArchiveError{}} feels odd, wrapping my own exceptions.
Regarding uniformity,
decode_body(Req.Request.t) :: {Req.Request.t, Req.Response.t | Jason.DecodeError.t | Req.ArchiveError.t}
is still pretty uniform imho.
A long time ago I was thinking that decode_body should accept a :decoders option, for example, decoders: [json: &CustomJSON.decode/1, html: &EasyHTML.parse/1], so it's trivial to plug in custom decoders. (Because decode_body already figures out the format thanks to MIME.) I guess in that world a custom Req.DecodeError exception makes more sense (still not 100% convinced) to keep the return value uniform. I didn't end up doing that because yeah it is pretty easy to just add a custom decoder step today anyway.
@whatyouhide wrote:

What I mean is: if Req.request/1 returns {:error, %Jason.DecodeError{}} I’m gonna be confused as hell, because where did the JSON error happen? Decoding the body? In a custom step that decodes a JSON within a header? No clue.

yeah I can see that. But I could also argue that either the custom step (decoding JSON from a header) should return a custom exception or we should decode response body ourselves to have full control. Of course there's is a balance to strike, if we're gonna end up, say, decoding JSON manually on all bigger real-world projects then it means the default are not great.
So yeah that's where I am at, still figuring this out. 😅

@wojtekmach what happens when you use Erlang's json module in the future? You won't have a Jason.DecodeError anymore?

exactly, right? if someone was pattern matching on %Req.DecodeError{exception: %Jason.DecodeError{}} they would be screwed anyway. And if someone was pattern matching on just %Req.DecodeError{} what are they gonna do with it? Log it? Retry (to what end)? If you need precise control disabling automatic decoding is trivial.
But to answer, yeah, I'm not sure what I'm gonna do.
Maybe I should document that returned exception is not part of stability guarantee in that particular step and if you care, don't use it.

And if someone was pattern matching on just %Req.DecodeError{} what are they gonna do with it?

Probably log it or alert, not match on Jason.DecodeError is my guess. But either way yeah, maybe just leave Exception.t/0 now to leave your options open so you can :shipit:

Done!


Slight error at 65 for progress

65 armorer.
craftsmanship is 976
control 930
Recipe being crafted was lv62 High Steel Ingot.
No integrity being used.
Actual value of Careful Synthesis 3 = 423. Tool expects 420
Actual value of Careful Synthesis 2 = 339. Tool expects 336
Off by 3. Not a big amount but I noticed it because the tool suggested 2 careful synth 3s towards the start of the craft and the craft completed early putting it 4 over the total needed instead of 2 under.

Some data for you, @Ermad

GSM 67
Craftsmanship 1004
Control 957
62 Koppranickel Ingot
Actual value of Careful Synthesis 3 = 468. Tool expects 465
Actual value of Careful Synthesis 2 = 374. Tool expects 372
Some more data.


error when retraining word vector

Hi, I have reverted to an earlier commit: https://github.com/alexander-rakhlin/CNN-for-Sentence-Classification-in-Keras/tree/0a10445fbd0a1c783e6231cd1accb1e1a4e2252f
The codes run fine with the provided embeddings. But when I delete the embeddings in the models directory and retrain it. I get the following errors:
trainGraph.py:127: UserWarning: Update your Conv1D call to the Keras 2 API: Conv1D(activation="relu", padding="valid", strides=1, filters=3, kernel_size=3)
subsample_length=1)(graph_in)
trainGraph.py:128: UserWarning: Update your MaxPooling1D call to the Keras 2 API: MaxPooling1D(pool_size=2)
pool = MaxPooling1D(pool_length=2)(conv)
trainGraph.py:127: UserWarning: Update your Conv1D call to the Keras 2 API: Conv1D(activation="relu", padding="valid", strides=1, filters=3, kernel_size=4)
subsample_length=1)(graph_in)
trainGraph.py:133: UserWarning: The Merge layer is deprecated and will be removed after 08/2017. Use instead layers from keras.layers.merge, e.g. add, concatenate, etc.
out = Merge(mode='concat')(convs)
trainGraph.py:137: UserWarning: Update your Model call to the Keras 2 API: Model(outputs=Join.0, inputs=/input_1)
graph = Model(input=graph_in, output=out)
/root/anaconda/lib/python2.7/site-packages/keras/models.py:849: UserWarning: The nb_epoch argument in fit has been renamed epochs.
warnings.warn('The nb_epoch argument in fit '
Traceback (most recent call last):
File "trainGraph.py", line 158, in
model.fit(x_shuffled, y_shuffled, batch_size=batch_size, nb_epoch=num_epochs, validation_split=val_split, verbose=2)
File "/root/anaconda/lib/python2.7/site-packages/keras/models.py", line 868, in fit
initial_epoch=initial_epoch)
File "/root/anaconda/lib/python2.7/site-packages/keras/engine/training.py", line 1434, in fit
batch_size=batch_size)
File "/root/anaconda/lib/python2.7/site-packages/keras/engine/training.py", line 1310, in _standardize_user_data
exception_prefix='input')
File "/root/anaconda/lib/python2.7/site-packages/keras/engine/training.py", line 139, in _standardize_input_data
str(array.shape))
ValueError: Error when checking input: expected embedding_1_input to have shape (None, 56) but got array with shape (481625, 629)
Any idea to fix it? Thanks.

Hi,
I am short of time these days. Current recommendation is to update old code for recent Keras and verify array dimensionality it produces to match the provided embeddings. The error here:

ValueError: Error when checking input: expected embedding_1_input to have shape (None, 56) but got array with shape (481625, 629)

Hi, I have rewritten the code for keras 2 but I am stuck at this line:
conv = Conv1D(filters=num_filters, kernerl_size=fsz, padding='valid', activation='relu', strides=1)(graph_in)
I am getting this error:   File "trainGraph.py", line 131, in
conv = Conv1D(filters=num_filters, kernerl_size=fsz, padding='valid', activation='relu', strides=1)(graph_in)
TypeError: init() takes at least 3 arguments (2 given)
Any idea? Thanks in advance

Please see updated version


Error with pusher broadcaster

Hi, yesterday I Configured a Laravel websocket server and everything was OK, but now when I try to make "php artisan serve" or "php artisan websocket:serve", it shows me an exception in the terminal and the only thing it says is:
In PusherBroadcaster.php line 119:
[Illuminate\Broadcasting\BroadcastException]
Now I don't know what to do... I'm pretty new in this and I'm so lost right now...

@pacoEspinoza123 , If you can send  the broadcasting.php and websockets.php, it would be great to see how you configured it.

This is my broadcasting.php
And this is my websockets.php

Hey @pacoEspinoza123 - did you manage to fix the issue? I am also facing the same issue. Thanks in advance!

Hey @pacoEspinoza123 - did you manage to fix the issue? I am also facing the same issue. Thanks in advance!

Would help if you posted more details. E.g. Exception stack-trace, when exception occurs etc..

Got the same issue, no idea how to proceed.
Anyone encountered this and fixed it ?

I'm having the same issue. Could really use some help!

The problem is most likely related to CURL. It tries to send event but fails.
Your can enable logging in broadcasting config for pusher:
'connections' => [         'pusher' => [              // ...              'log' => true         ] ]
And look in logs where problem in sending.

what adjustment did you make?

Hi there, we're having two different instances of this happening
1.-
[2020-05-24 13:35:20] production.ERROR: exec_curl error: {error} {"error":"Recv failure: Connection reset by peer"}
[2020-05-24 13:35:20] production.INFO: exec_curl response: {response} {"response":"Array
(
    [body] =>
    [status] => 0
)
"}

2.-
[2020-05-24 13:38:09] production.ERROR: exec_curl error: {error} {"error":"Operation timed out after 30000 milliseconds with 0 bytes received"}
[2020-05-24 13:38:09] production.INFO: exec_curl response: {response} {"response":"Array
(
    [body] =>
    [status] => 0
)
"}

When that starts appearing, we know that all our real-time events are dead and won't be dispatched, so we resort to restarting the laravel websockets service until it works, but it's a pain, and we don't quite understand why it's happening 🤔 are we hitting some bottleneck regarding socket connections?

Thanks @schtoffen ! I enabled log then I found what causes the problem in my end and able to fix it.

The problem is most likely related to CURL. It tries to send event but fails.
Your can enable logging in broadcasting config for pusher:
'connections' => [ 'pusher' => [ // ... 'log' => true ] ]
And look in logs where problem in sending.

If you happen to have the same error as mine:
[2020-06-30 16:30:39] prod.ERROR: exec_curl error: {error} {"error":"SSL: no alternative certificate subject name matches target host name '<IP_ADDRESS>'"}
[2020-06-30 16:30:39] prod.INFO: exec_curl response: {response} {"response":"Array
(
    [body] =>
    [status] => 0
)

I changed the options.host into domain name:
    'connections' => [
        'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'log' => true,
            'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'host' => 'mydomain.com',
                'port' => 6001,
                'scheme' => 'https',
            ],
        ],
    ]


Do not wait for the iframe to load when an error occurs

Fixes #9

👍

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Phone number validation

Do we have a way to verify if the length of a phone number is correct?
I realize that there is no information here about validating a phone number. Does anyone has found a way to do this with this plugin?

I got the issue here. I am passing minlength to the cleave, but it does return valid the moment a digit enters the input. As I see it, it must respect the props passing to it, or at least not return valid, and let the browser determine that.

Looks like the libphonenumber information from google is 2 years out of date.
FYI there's phone-number specific plugins, such as https://github.com/jackocnr/intl-tel-input that are jquery free which tracks libphonenumber fairly frequently.


ci: fix and improve completeness of nightly scans

fixes #527
Description

make sure nightly scans work and provide a full picture

Checklist

[x] PR is rebased to/aimed at branch develop
[x] PR follows Contributing Guide
[x] Added tests (if necessary)
[x] Extended README/Documentation (if necessary)
[x] Adjusted versions of image and Helm chart in values.yaml and Chart.yaml (if necessary)

Codecov Report

Merging #571 (a7657d5) into develop (165f518) will increase coverage by 3.14%.
The diff coverage is 97.02%.

@@             Coverage Diff             @@
##           develop     #571      +/-   ##
===========================================
+ Coverage    93.52%   96.67%   +3.14%
===========================================
  Files           15       22       +7
  Lines          633     1172     +539
===========================================
+ Hits           592     1133     +541
+ Misses          41       39       -2

Impacted Files
Coverage Δ

connaisseur/__main__.py
0.00% <0.00%> (ø)

connaisseur/kube_api.py
87.50% <66.66%> (ø)

...naisseur/validators/notaryv2/notaryv2_validator.py
80.00% <80.00%> (ø)

connaisseur/flask_application.py
92.63% <92.63%> (ø)

connaisseur/validators/static/static_validator.py
93.75% <93.75%> (ø)

connaisseur/util.py
95.45% <95.45%> (-4.55%)
:arrow_down:

connaisseur/logging_wrapper.py
96.15% <96.15%> (ø)

connaisseur/config.py
97.29% <97.29%> (ø)

connaisseur/alert.py
97.97% <97.97%> (ø)

connaisseur/workload_object.py
98.24% <98.24%> (ø)

... and 12 more

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 9d91496...a7657d5. Read the comment docs.


Chip in payment page, now has "Thank You" state

The donation history list is now a 300px tall, scrollable view.

👍


Feature request: Support auto-update for linux

(and in the meanwhile stop the distracting notification that a new version has come out)

Coming in 1.10: https://github.com/Microsoft/vscode/issues/229 and https://github.com/Microsoft/vscode/issues/2973


questions about the training data format

hi there, thanks a lot for making the code available, it helps me a lot to understand you paper.
I have a question about the format of training data. In README.md, step 3, when describing how to prepare the training data, each visit is said to be represented by a list of integers, such as [5,8,13]. In the closed issue "'output file" (https://github.com/mp2893/med2vec/issues/7), you answered TheodoreZhao's question, and said that "For visit representation, you can derive the code-level representation using u_t = ReLU(W_emb x_t + b_emb), possibly with a multi-hot vector, then use v_t = ReLU(W_hidden u_t + b_hidden) to derive the visit representation ".
so my question is, if I represent a visit with a list of integers in the training step, and compute a visit representation based on a multi-hot vector, what's the relationship between the list and the multi-hot vector? how to get the multi-hot vector for each visit?
thanks.

Hi,
The list of integers (e.g. [3, 5, 2]) can be transformed into a multi-hot vector (e.g. [0, 0, 1, 1, 0, 1, 0, 0, ...]). The dimensionality of the multi-hot vector is equivalent to the number of unique codes in your data.
Thanks,
Ed

Hi there, sorry to bother you again, but I wonder weather med2vec could handle a situation where each patient has only one visit, namely the trainings data is in the form of, for example, [[2,5,8],[-1],[6,9,23],[-1],[7,9,21]], since in the examples you give in README, each patient has at least two visits.
Thanks a lot for your responses

In that case, med2vec won’t be trained properly because there are no neighboring visits to predict.


Rework pelvis mesh.

Various models, including Barney, Otis and Player have issues in sequences where the pelvis and legs are rotated too far.
This issue is visible in barney.mdl and otis.mdl sequences:

cowering
otis_dumped
otis_dumped_idle

One way to improve it would be to split lower pelvis vertices and parent them to each respective leg.

2023-07-22
All LD/HD models have been inspected except:

Player weapon models (p_.*)
View models (v_.*)
Weapon & object world models (w_.*)

The list below lists all meshes that are subject to the issue explained above. Note that depending on where the pelvis root vertex is positioned, the issue is more or less visible in certain models but that's still an issue.
LD meshes:

[ ] barney/meshes/BARNEY-X_Template_Biped1.smd
[ ] cleansuit_scientist/meshes/ld/SCI3_Template_Biped1(Headless_Body).smd
[ ] dead_barney/meshes/ld/dead_barney_ref_pc.smd
[ ] gman/meshes/ld/gman_reference.smd
[ ] gonome/meshes/gonome_ref.smd
[ ] hgrunt/meshes/ld/gruntbody.smd
[ ] holo/meshes/hologram.smd
[ ] massn/meshes/ld/Massn_reference.smd
[ ] otis/meshes/otis_body_reference.smd
[ ] player/player_template_biped(No_Head)1.smd
[ ] player/player_template_biped_barney.smd
[ ] shared/meshes/hgrunt_opfor/ld/grunt_fatigues_reference.smd
[ ] shared/meshes/scientists/ld/SCI3_Template_Biped1(Headless_Body).smd
[ ] zombie/meshes/Zom3_Template_Biped(White_Suit)1.smd
[ ] zombie_barney/meshes/zombie_barney_reference.smd
[ ] zombie_soldier/meshes/zombie_soldier_reference.smd

HD meshes:

[ ] barney/meshes/hd/BARNEY-X_Template_Biped1.smd
[ ] dead_barney/meshes/hd/dead_barney_ref.smd
[ ] gman/meshes/hd/dc_gman_reference.smd
[ ] hgrunt/meshes/hd/DC_soldier_reference.smd
[ ] shared/meshes/civ_scientists/hd/dc_sci_(CIV_headless_body).smd
[ ] shared/meshes/hgrunt_opfor/hd/grunt_fatigues_reference.smd
[ ] shared/meshes/scientists/hd/dc_sci_(headless_body).smd
[ ] zombie/meshes/hd/blue_zom.smd

Because HL1 models don't have vertex blending support, a vertex can only be assigned to one bone. Because the pelvis root vertex is often parented to either Bip01 or Bip01 Pelvis and never to one of the legs, it stays in place which results in visible mesh deformation when legs are rotated away.
Solutions:
A) Parent the pelvis root vertex to one of the legs but this can also cause mesh deformation in certain models when legs are rotated away from each others. (Easiest)
B) Create an edge loop around the pelvis root vertex to allow each leg to have their appropriate vertex. The original root vertex would then have to be removed. The edge loop can be made extremely thin to make it look as if there is still one root vertex.
Solution B) is preferable.
Tests:
Additionally, custom animations that animate the legs in different positions could be made to be able to quickly view if any issue arise after that once all meshes are fixed. Those animations would not be included in the release models.

[ ] (Optional) Create custom animations that rotate legs in different positions
[ ] (Optional) Create test models for use with the custom animations

After discussion, it has been decided to leave the pelvis meshes as they are.


Dragging items out of list to delete them

I was wondering if there was a way to drag an item out of the list to delete/remove them. Is that possible?

Use methods to DOM-manipulation:

removeChild
appendChild
insertBefore

?

How do I remove the element as I am dragging it out? Is there a certain event I should use? You can see in the screenshot that as I move the element out of the list I get the circle with diagonal line.

I do not understand what you want to do.
Sortable - a library for sorting.

I understand that, but I am asking if there is a way for me to to drag an item out and it is removed from the list. I'm not sure how to explain it more simple than that.

You can drag between Sortable containers, so when a drag is started, make a second, transparent container active that accepts the drop. Respond to change notification to then delete the item from the second container. I do something like this to let the user re-arrange their UI elements.

Maybe this?
http://jsbin.com/fikecunuqo/edit?css,js,output

@wwalraven, that is a good idea. Thanks for the tip. I used that along with RubaXa's code to make sort of a drop area to delete an item.


Error: undefined symbol: EVP_md2

Thank you for your efforts.
I conda-installed in HPC. while running, I encountered this error below. Gemini says "AutoHiC program is trying to use a function called EVP_md2 from a version of OpenSSL (3.0.0 in this case) that doesn't include that function." Any suggestions? Thanks
Traceback (most recent call last):
File "/90daydata/spcl_sun/AutoHiC/autohic.py", line 19, in
from src.assembly.adjust_all_error import adjust_all_error
File "/90daydata/spcl_sun/AutoHiC/src/assembly/adjust_all_error.py", line 16, in
from src.assembly.cut_errors_ctg import cut_errors_ctg
File "/90daydata/spcl_sun/AutoHiC/src/assembly/cut_errors_ctg.py", line 15, in
from src.utils.get_cfg import get_ratio
File "/90daydata/spcl_sun/AutoHiC/src/utils/get_cfg.py", line 17, in
import hicstraw
ImportError: /lib64/libldap.so.2: undefined symbol: EVP_md2, version OPENSSL_3.0.0

maybe this error should contact your hpc manager to slove. you also can use singularity to use AutoHiC.

Closing due to no activity for 2 weeks. Feel free to reopen if any guidance is needed.


fix(readme): clean up readme

This PR makes a small enhancement to the readme. Streamlining the doc around running the a11y audit for macOS users.

Deploy preview for pf-next ready!
Built with commit c20fe59a1538a83d6b2537c5bf70c9e0560ac969
https://deploy-preview-1510--pf-next.netlify.com

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[FEATURE] Spark - update SparkStep to be able to manage the SparkSession more effectively

Is your feature request related to a problem? Please describe.
A feature that was previously requested (aligned to this) was:

Having the ability to clean checkpoints via spark.cleaner.referenceTracking.cleanCheckpoints=true to opt-in to spark internal checkpoint reference tracking and cleaning

Currently, Koheesio has no specific interaction with or management of the underlying SparkSession (it simply expects the session to just 'be there').
Describe the solution you'd like
I would like to see us extend the SparkStep to be able to manage the spark session, and also be able to pass the SparkSession to the Koheesio Step as a field. At the moment, spark is only set up as a property. I propose we keep the property, but add a Field with a default. The property would then either pass whatever value is assigned to self._spark or the getActiveSession (as it does currently).
By doing this we can introduce functionality like this (inspired by Delta library):
def clean_up_spark_streaming_checkpoint(spark: SparkSession) -> SparkSession:
    # add desired config to the given spark session and return it
    return spark

Suggestion on new SparkStep code:
class SparkStep(Step):
    ...
    _spark: Optional[SparkSession] = Field(default=SparkSession.getActiveSession(), alias="spark")

    # TODO: add a check that validates the sparksession, and sets it to pyspark.sql.getActiveSession if it is still none

    def spark_conf_clean_up_streaming_checkpoint(self):
        # as mentioned above

This opens the door to future optimizations also.
Describe alternatives you've considered
Open for suggestions :)
Additional context
For reference, a user would call the functionality like this:
# using an incomplete DeltaStreamReader, purely as an example
reader = DeltaStreamReader(
    spark=SparkSession.builder.getOrCreate(),   # optional !
    ...
)
reader.spark_conf_clean_up_streaming_checkpoint()

@dannymeijer Can you provide more context, why do we need to provide a session which is different from the active one ? Based on current implementation koheesio will take current Active Session. Building session is responsibility of user ( where they can create local/ remote session)

I don't intend to change the behavior, just want users to be able to explicitly be able to pass the SparkSession if they have configured one. This is to have compatibility with delta API for example.

I don't intend to change the behavior, just want users to be able to explicitly be able to pass the SparkSession if they have configured one. This is to have compatibility with delta API for example.

As for me I prefer not to have it separately and only allow active spark session, without possibility to pass anything.

If this is method of a class:
def clean_up_spark_streaming_checkpoint(spark: SparkSession) -> SparkSession:
    # add desired config to the given spark session and return it
    return spark

then it should be as:
def clean_up_spark_streaming_checkpoint(self) -> SparkSession:
    # add desired config to the given spark session and return it
    # self.spark.config.set()
    return self.spark


Fixed matplotlib Point clims and sizes

Title says it all. Simple fix, turns out plt.scatter accepts clim but really expects the ranges to be set via vmin and vmax.

Ok. The changes look fine and I've been asked to merge.


feat(#162): moved repo type

the POC

PR-Codex overview
This PR introduces a restructuring of the codebase, primarily focusing on the organization of modules and the addition of new dependencies, including the kill-port package. It also refactors the repo module into repo_ops, enhancing the functionality related to repository operations.
Detailed summary

Added kill-port dependency in package.json and package-lock.json.
Updated Cargo.toml to include a new types module.
Renamed repo module to repo_ops in server/src/objects/mod.rs.
Introduced RepoOperations trait in repo_ops.rs for better repo management.
Added Repo struct in types/src/types/repo.rs.
Updated User struct in types/src/types/user.rs to include repos.
Added GitHub struct in types/src/types/github.rs for GitHub representation.
Included MIT license headers in new files.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@h1alexbel this PR still in WIP status, miss clicked on review button


now compatible with cordova-ios 4.0.0 (fixes issue #26)

See issue #26. Was broken on cordova-ios 4.0.0; Modified CDVMobileAccessibility.m:183 to use new webViewEngine if Cordova 4.0.0.
Tested on iOS 9.2, cordova-ios 4.0.0; working.

Thanks @kerrishotts ! Another way to tackle this is I think to use self.commandDelegate evalJs that should be compatible without needing the macro.
The only reason you would potentially need to do it the way you did if you wanted to grab the return value somehow.

Per @shazron, this has been fixed using self.commandDelegate evalJs. Thanks a ton for your contribution @kerrishotts!

Yay! I hadn't thought about trying evalJs, and hadn't got to it today yet to check out if it would do the trick (need. more. caffeine!). EvalJs is a much more elegant solution than playing around with defines, so I'm glad that it works that way. :-)


Documentation cheange in az vm repair

[Enter feedback here]
Optional features:
--repair-group-name
Repair resource group name.
Edition Suggestion:
--repair-group-name
Create new resource group for repair VM, do not add the name of existing resource group or it can delete in failure case

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

ID: 355a594a-22ef-fd15-0b58-07701dd1815c
Version Independent ID: d8356a0a-9aaf-900b-ce7a-021c9a0af509
Content: az vm repair
Content Source: latest/docs-ref-autogen/vm/repair.yml
Service: virtual-machines
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

route to CXP team

@diogomp94 This pull request will take care of the suggested documentation change -https://github.com/Azure/azure-cli-extensions/pull/5597/files.

@diogomp94 We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Fix to support the Juniper vQFX

Currently the vQFX support is broken. This PR will allow the Juniper vQFX to properly start.
Tested with version: 15.1X53-D60

thanks @rokernel
do you also want to add a piece in containerlab for that? or do you only need this for docker native networking?

thanks @rokernel
do you also want to add a piece in containerlab for that? or do you only need this for docker native networking?

My target is to support both, so please go ahead and update containerlab too.
Thank you

do you gents have an image of vqfx for me to test?

I figured out a better regex for sed that should work better with newer images. This got an image based off of 18.4R1.8 working with vrnetlab.
I'd add a commit to this pr, but I'm not sure how to do that without having push access to either repo, so here's the line:
VERSION=$(shell echo $(IMAGE) | sed -re 's/vqfx10k-re-([^;]*).vmdk.*$$/\1/')

@rokernel I think if you add this patch it will do everything that is needed for containerlab to work with various versions of vQFX and I'm adding a PR to containerlab to setup all of the clab side of things (already tested and working).
diff --git a/vqfx/Makefile b/vqfx/Makefile
index eb99cb3..8550cdb 100644
--- a/vqfx/Makefile
+++ b/vqfx/Makefile
@@ -5,7 +5,7 @@ IMAGE_GLOB=*.vmdk

 # match versions like:
 # vqfx10k-re-15.1X53-D60.vmdk
-VERSION=$(shell echo $(IMAGE) | sed -e 's/^vqfx10k-re-\([0-9][0-9]\.[0-9][A-Z][0-9]\+\(\.[0-9]\+\)\?\(-D[0-9]\+\)\)[^0-9].*$$/\1/')
+VERSION=$(shell echo $(IMAGE) | sed -re 's/vqfx10k-re-([^;]*)\.vmdk.*$$/\1/')

 -include ../makefile-sanity.include
 -include ../makefile.include
diff --git a/vqfx/docker/launch_vqfx.py b/vqfx/docker/launch_vqfx.py
index 62b86b5..c6903ea 100755
--- a/vqfx/docker/launch_vqfx.py
+++ b/vqfx/docker/launch_vqfx.py
@@ -30,13 +30,14 @@ logging.Logger.trace = trace

 class VQFX_vcp(vrnetlab.VM):
-    def __init__(self, username, password, conn_mode):
+    def __init__(self, hostname, username, password, conn_mode):
         for e in os.listdir("/"):
             if re.search("-re-.*.vmdk", e):
                 vrnetlab.run_command(["qemu-img", "create", "-b", "/" + e, "-f", "qcow", "/vcp.qcow2"])
         super(VQFX_vcp, self).__init__(username, password, disk_image="/vcp.qcow2", ram=2048)
         self.num_nics = 12
         self.conn_mode = conn_mode
+        self.hostname = hostname

     def start(self):
@@ -131,6 +132,7 @@ class VQFX_vcp(vrnetlab.VM):
         self.wait_write("delete interfaces")
         self.wait_write("set interfaces em0 unit 0 family inet address <IP_ADDRESS>/24")
         self.wait_write("set interfaces em1 unit 0 family inet address <IP_ADDRESS>/24")
+        self.wait_write(f"set system host-name {self.hostname}")
         self.wait_write("commit")
         self.wait_write("exit")

@@ -205,10 +207,10 @@ class VQFX(vrnetlab.VR):
     """ Juniper vQFX router
     """

-    def __init__(self, username, password, conn_mode):
+    def __init__(self, hostname, username, password, conn_mode):
         super(VQFX, self).__init__(username, password)

-        self.vms = [ VQFX_vcp(username, password, conn_mode), VQFX_vpfe() ]
+        self.vms = [ VQFX_vcp(hostname, username, password, conn_mode), VQFX_vpfe() ]

         # set up bridge for connecting VCP with vFPC
         vrnetlab.run_command(["brctl", "addbr", "int_cp"])
@@ -220,6 +222,7 @@ if __name__ == '__main__':
     import argparse
     parser = argparse.ArgumentParser(description='')
     parser.add_argument('--trace', action='store_true', help='enable trace level logging')
+    parser.add_argument("--hostname", default="vr-vqfx", help="QFX hostname")
     parser.add_argument('--username', default='vrnetlab', help='Username')
     parser.add_argument('--password', default='VR-netlab9', help='Password')
     parser.add_argument('--install', action='store_true', help='Install vQFX')
@@ -238,5 +241,5 @@ if __name__ == '__main__':
     if args.trace:
         logger.setLevel(1)
     vrnetlab.boot_delay()
-    vr = VQFX(args.username, args.password, conn_mode=args.connection_mode)
+    vr = VQFX(args.hostname, args.username, args.password, conn_mode=args.connection_mode)
     vr.start()

Here is the patch file if you want to test it yourself.

@chriscummings-esnet nice! is this supposed to work with both vmx17 and fresh vmx19+?

So far I have only tested with vQFX 18.4R1.8, but I think it should work with any version that uses the pfe and re dual-VM model. Let me see if I can find some old images and test!

@oh, sorry, I think 18+ is good, confused the versions
this work has the stuff that is referenced here? https://github.com/plajjan/vrnetlab/pull/234

Hrmmm, no it doesn't add that stuff, I just worked out of this branch/pr and hadn't seen this yet. My images are .vmdk and must predate this change by Juniper. 🤦🏻♂

superseded by #64
lets work on the merged #64 to make this support better


Feature/#15 rework data model

Some points regarding to our domain model which I have noticed. This is just my opinion though. We can discuss that if you don't agree with it.

The naming of ErmengencyType is not expressive enough. My suggestion would be EmergencyPriority.
The same goes with EmergencyAction. My suggestion would be EmergencyStatus.
Furthermore I would rename the states into simple past form like ACCEPTED instead of ACCEPT.


Enable SAP Cloud Platform Mobile Services in Cloud Foundry

Tutorial URL: https://developers.sap.com/tutorials/fiori-ios-hcpms-setup.html
I tried to create the mobile service on my trial Cloud Foundry account,
I got some warning like this.
[ Mobile Services is not enabled. The service is required for upgrade. Check SAP Help Portal for instructions. ]
Is it general available to all trial accounts, or did I miss something?

@k-younghwan
in our recent release we introduced a new "Mobile Services" which is replacing all old mobile services. With this new "Mobile Services", mobile application will be created as a "Mobile Services" service instance instead of an mobile-approuter application deployed under customer space.
For any new trial accounts, we are adding this new service by default (and automatically).
For existing account, it requires manual work.
Please follow as per below:

In SCP cockpit, click Entitlements>Subaccount Assignments

Select subaccounts from dropdown and click "Go"

Click "Configure Entitlements"

Click "Add Service Plans"

In "Entitlements" pop-up window, select "Mobile" from dropdown, scroll down and select "Mobile Services" and then tick the checkbox "lite" and then click "Add 1 Service Plan"

Save the changes

Clear the browser cookies & caches or open Mobile Services cockpit url in an incognito/private window.
Navigate to Mobile Applications> Native/Hybrid, you should see an Upgrade window popping-up , click "Upgrade Now"

existing apps will start upgrading.... (it takes sometime depending on the apps you have in your existing account)

Once done, that warning message should be gone.

Thank you for details jitendrakansal.
With your help, I could solve the problem.


Pay with mobile money feature

Pay with mobile money option is not available in this sdk.

An issue ⚠.. Need direction on this

i am also getting the same issue !!!
i tried initiating payment with parameter channels with value ['card', 'bank', 'ussd', 'qr', 'mobile_money', 'bank_transfer']
i am getting only two options
Card
Bank

hi! has anyone been able to add mobile money to this plugin?

Mobile money payment method is not available from the Flutter SDK, however, you can integrate directly into the API to add mobile money option in your app.
Here's our documentation for this => https://paystack.com/docs/payments/payment-channels/#mobile-money
can anyone help on how to make this work with the plugin?

i guess i would have to switch to flutterwave and switch back later on.

any update on the momo feature adding to the plugin?

@leadenpraise I don't have any plans to support mobile money as it requires exposing the secret key on the client.

@wilburt i understand from that angle. but is there a way to help some of us who need the mobile money option? because the plugin will be useless to us without the mobile money option because that's the basic payment channel for Ghana.

@leadenpraise the only suggestion I can think of is that when it's time for the user to pay, you send an API request to your backend which will generate a Paystack payment URL attached to that user. When the request returns, you grab the payment URL from it and send the user to a WebView. Listen for when the WebView is closed and send another request to your backend to check the status of the payment. When this request returns,  display a UI to the user that matches the status of the transaction.

@leadenpraise use this ,https://paystack.com/docs/payments/payment-channels/#mobile-money, to directly interact with the charge api.

@leadenpraise use this ,https://paystack.com/docs/payments/payment-channels/#mobile-money, to directly interact with the charge api.

is it possible to create a charge and ask the user to authorize it by just validating the charge with his/her mobile money pin?


fix fix default value for special variables

bp #27651
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Please include permissions needed

I'm not sure where else I can put this, so it's going here. Please include which SCCM permissions are needed for the various tasks. The client notification page (https://docs.microsoft.com/en-us/sccm/core/clients/manage/client-notification) lists permissions needed for each line item. That is very handy for being able to drill down non-admin permissions. If this documentation exists elsewhere, I have not been able to find it.

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

ID: 40b09ab0-2f1f-253b-a9a5-f42f9d3c704c
Version Independent ID: eeea0bf0-0544-f251-9c62-5f4a42b4d2e1
Content: Configure client settings - Configuration Manager
Content Source: sccm/core/clients/deploy/configure-client-settings.md
Product: configuration-manager
Technology: configmgr-client
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Hi @phoenix79, thanks for the feedback. I get what you're saying, but unfortunately it's not really actionable in its current form. For new features, we try to collect and document the necessary permissions. There are likely historical content for older features that don't list it. There was a spreadsheet that one of the former writers put together years ago, which I don't think is still publicly available, that listed the permissions for the default roles. That was a massive project to put together, and would be a similarly large project to update.
I don't think this issue is actionable because it's too broad, I don't think we could easily track it towards resolution. So I'm going to close this issue. If you come across a specific article/feature that doesn't list the required permissions but you think it should, please file an issue for that specific instance, and then we can work on resolving them in that manner. I think that's a more actionable process.


Fix code scanning alert - Polynomial regular expression used on uncontrolled data

Tracking issue for:

[ ] https://github.com/MicrosoftDocs/node-essentials/security/code-scanning/2

Probably solution

node-dependencies/5-exercise-dependency-playwright/address-parser.js

exports.addressParser = function parseOrder(order) {
  const match = order.match(
    /order:\s(?<order>[^\s]+(\s[^\s]+)?).*address:\s(?<address>[^\s]+(\s[^\s]+){0,2}).*payment info:\s(?<payment>\w+)/,
  );
  return match.groups;
};


Endpoint's security ID is not updated in k8s pod's labels

Verify if endpoint's security ID is updated in k8s pods' labels when the security ID changes on the endpoint.
The security ID of an endpoint can change by updating the labels locally with cilium endpoint labels -a

Closing this issue, because there is no problem with security update ID.


Uncaught Error: Template parse errors:

Can't bind to 'value' since it isn't a known property of 'md-option'.

If 'md-option' is an Angular component and it has 'value' input, then verify that it is part of this module.

If 'md-option' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.

To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. (" placeholder="Country" style="width:50%">
<md-option *ngFor="let country of countries" [ERROR ->][value]="country.value">
{{ country.Text }}

"): ng:///AppModule/TrialComponent.html@49:57
'md-option' is not a known element:

If 'md-option' is an Angular component, then verify that it is part of this module.

If 'md-option' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("
   <md-select placeholder="Country" style="width:50%">
     [ERROR ->]<md-option *ngFor="let country of countries" [value]="country.value">
       {{ country.Text "): ng:///AppModule/TrialComponent.html@49:12

'md-select' is not a known element:

If 'md-select' is an Angular component, then verify that it is part of this module.
If 'md-select' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.

It looks like you're using the old md- prefixed components. If you're on the latest version of Material, you should be using the ones prefixed with mat- instead.


Port fix #24050 from master to release-2.8

Port fix #24050 from master to release-2.8
Fixes #24015

Verified using dogfood VS bits with a 2.8 install with this tsserver.js dropped in.
For both repros we have:

Memory usage remained stable even after ~100 edits
Inspecting in debugger, the declarations array remained stable
Editing experience appeared good

This fix is similar to the one we gave the two customers who were hitting it, except that it doesn't break Salsa expandos. They both reported back that the fix was 100% in terms of fixing their memory usage / crashing problems.


setColorScheme (Dark Mode) is broken

Further described in this issue: https://github.com/marklawlor/nativewind/issues/866
Once either dark or light is set then further system settings changes what trigger an update
Setting system also doesn't work (if you toggle dark mode in device settings the app ui doesn't update).
Even if dark/light is set in setColorScheme, system (device) changes should still trigger.

I'm facing the same issue. did you fixed

I was having problem with the dark mode functionality in my app as well and I found out that I by accident changed the .dark selector in global.css from .dark:root to .dark. Hopefully this can help someone else!

Closed as duplicate of #917

@danstepanov condering both tickets are closed should a new ticket be opened to have Nativeiwnd work with the latest Tailwind release?

@enchorb That would be a separate concern, yes.


[Bug report] plasticity not working in point neurons

Describe the bug
plasticity rules, such as STDP are not working/implemented in point neurons
Reproducing the bug
Steps to reproduce the behavior:
create a network with artificial neurons (IntFire4) and add plasticity rule (e.g. stdp.mod)
Expected behavior
plasticity works across neuron types supported by netpyne

made a pull request
https://github.com/Neurosim-lab/netpyne/pull/536


How to disable reactivity?

I have a question, I'm using angular 1 with meteor.
I'm trying to fetch some data non-reactive, but it's not working it only returns undefined.
I use it like this Orders.findOne({ _id: $stateParams.id }, { reactive : false })
In reactive mode it first returns undefined and then the correct data

It's best to ask this kind of question on the http://forums.meteor.com or stackoverflow

yeah true thanks I'll close the issue =P


if we want to include iwlwifi driver and build this module

Hi Sir,
If we want to include iwlwifi driver, and build install this module,
how to do that?

So the kernel you provided cannot build iwlwifi module?

These are scripts to build a kernel, the kernel settings are your choice.


List of CLI Application tools

Full Interpreters

python interpreter https://github.com/python/cpython
ptpython https://github.com/prompt-toolkit/ptpython
IPython https://github.com/ipython/ipython
bpython https://github.com/bpython/bpython

Interactive

cmd https://docs.python.org/3/library/cmd.html
Python Prompt Toolkit https://github.com/prompt-toolkit/python-prompt-toolkit

TUI

Urwid https://github.com/urwid/urwid

CLI

argparse https://github.com/python/cpython/blob/main/Lib/argparse.py
Python Fire https://github.com/google/python-fire
Click https://github.com/pallets/click
Typer https://github.com/tiangolo/typer
Some basic prompt features
docopt https://github.com/docopt/docopt
cement https://github.com/datafolklabs/cement
cliff https://github.com/openstack/cliff
There is an interactive Demo App included

GUI

Gooey https://github.com/chriskiehl/Gooey
Zero effort, just @Gooey decorator, works with argparse
wxpython based, which is broken atm.
cliff https://github.com/openstack/cliff

Will create cmd feature branch


Utils Linting Corrections

Little PR to correct some linting errors along with a little TODO.

Renamed src/utils/defaults -> src/utils/config
Moved and changed eslint suppression as it wasn't working previously
Simplified return on nonZeroCoords
Made sceneInputtoScene and sceneToSceneInput more implicit on return type along with annotations

@euanwm first external PR.  Thanks for your help!  Just so you're aware the merge strategy is to squash and merge.  Lets aim for branches that focus on one thing (better for readability down the commit list).


Added ApiProblemException.

Fun times in testing land, let me tell you what. :)

I am not convinced of the utility of this.  It means using exceptions as flow-control, which is  generally a bad idea.  (I know Symfony does it for 40x errors, which is not necessarily a compliment.)  Every time I've used ApiProblem, it's been on the receiving end of an Exception, in a catch (or Symfony kernel::EXCEPTION listener).  An ApiProblem is a domain object.  Use it as such.

@Crell That is fair. The utility is subtle and almost strictly related to functional testing of API calls on the client side. Without any additional context I can see where this might not be obvious. I'll share my use case to see if this makes more sense.
I have an API Test Case that expects the happy case to be an application/hal+json content type. If not, the API Test Case consumes the rendered output of an ApiProblem instance from the response body if the application/api-problem+json content type is detected. Otherwise, it throws a RuntimeException for an unexpected content type.
Here is part of my ApiTestCase:
<?php
class ApiTestCase extends WebTestCase
    /**
     * @param callable $configureContainer
     * @param $expectedResponseCode
     * @param $method
     * @param $uri
     * @param array $params
     * @param array $files
     * @param array $server
     * @param null $content
     * @return ApiResponse
     * @throws \RuntimeException
     * @throws ApiProblemException
     */
    public function makeContainerizedApiRequest(
        callable $configureContainer,
        $expectedResponseCode,
        $method,
        $uri,
        $content = null,
        array $params = [],
        array $files = [],
        array $server = []
    ) {
        $client = $this->createClient(['environment' => 'test']);

        $configureContainer($client->getKernel()->getContainer());

        $client->request($method, $uri, [], [], [
            'HTTP_ACCEPT' => 'application/hal+json; application/api-problem+json',
        ], $content);
        $response = $client->getResponse();

        if (500 === $response->getStatusCode()) {
            print_r([
                'uri' => $uri,
                'headers' => $response->headers,
                'content' => $response->getContent(),
            ]);
        }

        $this->assertEquals($expectedResponseCode, $response->getStatusCode());

        if ($response->headers->get('Content-Type') === 'application/hal+json') {
            // This is the expected response from a successful API call.
            return new ApiResponse($client);
        }

        if ($response->headers->get('Content-Type') === 'application/api-problem+json') {
            // This is a KNOWN exceptional case.
            throw new ApiProblemException(ApiProblem::fromJson($response->getContent()));
        }

        // This is an exceptional case.
        throw new \RuntimeException("Unsupported Content Type detected");
    }

    /**
     * @param $expectedResponseCode
     * @param $method
     * @param $uri
     * @param array $params
     * @param array $files
     * @param array $server
     * @param null $content
     * @return ApiResponse
     * @throws \RuntimeException
     * @throws ApiProblemException
     */
    public function makeApiRequest(
        $expectedResponseCode,
        $method,
        $uri,
        $content = null,
        array $params = [],
        array $files = [],
        array $server = []
    ) {
        return $this->makeContainerizedApiRequest(
            function () {},
            $expectedResponseCode,
            $method,
            $uri,
            $content,
            $params,
            $files,
            $server
        );
    }
}

I feel like this is a valid use case for an Exception.
It also makes the PHPUnit tests look pretty nice:
<?php
class GetBrandControllerTest extends ApiTestCase
{
    /** @test */
    public function it_gets_an_existing_brand()
    {
        $brandId = (string) Uuid::uuid4();
        $brand = new Brand($brandId, 'AAA', 'Abba Abba Alma');

        // Ensure that our expected Brand Read Model exists
        $this->getBrandReadModelRepository()->save($brand);

        // Discover the URI for our Brand.
        $uri = $this->discoverUri('dt:inventory:brand', [
            'brandId' => $brandId,
        ]);

        // Make an API Request that we assume will work and will
        // return an API Response that we can work with.
        $apiResponse = $this->makeApiGetRequest(
            Response::HTTP_OK,
            $uri
        );

        $hal = $apiResponse->getHal();

        $this->assertEquals($uri, $hal->getUri());
        $this->assertEquals($brandId, $hal->getData()['brandId']);
        $this->assertEquals('AAA', $hal->getData()['productLineCode']);
        $this->assertEquals('Abba Abba Alma', $hal->getData()['name']);
    }

    /**
     * @test
     * @expectedException        ApiProblemException
     * @expectedExceptionCode    404
     * @expectedExceptionMessage Not Found
     */
    public function it_gets_an_error_on_a_missing_brand()
    {
        $brandId = (string) Uuid::uuid4();

        $uri = $this->discoverUri('dt:inventory:brand', [
            'brandId' => $brandId,
        ]);

        // This brand does not exist. We should make an API Request
        // and expect that an API Problem will be the result with
        // a code of 404 and message of Not Found.
        $apiResponse = $this->makeApiGetRequest(
            Response::HTTP_NOT_FOUND,
            $uri
        );
    }
}

The key part is that second test. Doing this I'm able to expect an Exception using PHPUnit.
I could of course change my ApiResponse object (which is only used for testing) to optionally contain the ApiProblem but it might be more work for me.
If you are not OK with including this Exception I might find a way to distribute it in my own package somehow. I've been working on building out my own ApiProblemBundle so I could probably just ship it in that.
I think it would be a useful addition to the core package, though. :) For testing!

but it might be more work for me

By that, I mean that I'd have to check to see if the API Response was really an API Problem or not. Right now that is all built in. If I ever get anything back from an API request that is not the happy path I get an exception right away.
I'm sure I could still swing this but I'd love to hear whether you think this use of Exceptions is still too flow controlly in this context. :)

You're making an ApiProblemBundle? Is it similar to the one I did that you have access to? ;-)
I can see the cleanup you're after; I agree the second version is nicer.  But I am still not comfortable with baking in a test-only use case to the ApiProblem object itself.  That feels like the wrong place for that logic, and I fear it would encourage people to use ApiProblemException as a flow-control tool.  Rather, that logic belongs as part of an api-problem-aware (lower-case, meaning the spec, not this library) testing client that knows to check for and convert problematic responses.
I'm not sure how to do that in a way that isn't coupled to a specific HTTP implementation, such as HttpFoundation.  A utility that converts an api-problem Response to an exception and throws it (or similar) seems useful, but I don't know if this library is the place for it.  (If so, it should at least not be in the ApiProblem class itself.)

Well, I'm not actually using asException anywhere yet, so if that method is the problem you have, I'm happy to remove that.
Even in my current implementation I am just throwing new ApiProblemException($apiProblem). I thought it fit well with some of the other similarly named methods:

toXml
fromXml
toJson
fromJson
toException

You're making an ApiProblemBundle? Is it similar to the one I did that you have access to? ;-)

Similar in that it is essentially on listener class? If so, yes. :)
We discussed this in November or December. I've started using your ApiProblem package (not the Bundle) on other Symfony based projects. As these projects are Symfony based I needed to integrate ApiProblem into them.
I asked you if you were going to release your Bundle and you said maybe but that if it did happen it would not be for awhile. You said that I should roll my own in the meantime. You also mentioned that these types of event listeners are pretty thin and that there is not a whole lot to them. So I created my own Bundle for internal use.
I did my best to create mine from scratch and not leverage any code that I did not own. However, as you mentioned yourself, the event listener is very simple so there are bound to be similarities, especially since most of it is Symfony boilerplate.
Right now my implementation is sitting in a client's repo and it would take effort for me to extract it. However, at some point, I'm going to want to be actually spend the time to extract it into its own package so that I can use it in other projects. I suppose we can talk about it more at that point to see where you are at with your Bundle and whether it makes sense to release my publicly or only make it available internally for dflydev's use.
Either way, if you have concerns about this maybe we can take it up on IRC? :)

I've thought about this a bit more (aka, just saw it).  I don't want to put toException() on the ApiProblem class itself.  However, I'm OK with the exception class that composes the problem.  Can you just do that, then refactor the test accordingly?  (The exception should maybe extend RuntimeException, too.)

I guess we're not going to get back to this anytime soon. :smile:


webui.sh get's killed on TensorRT SDXL conversion

Hey!
I'm getting this error while trying to convert SDXL to TensorRT, onnx model builds successfully, but it fails after that:
Note: SD 1.5 conversion works great. I'm running it on WSL2 on a RTX 4080
Building TensorRT engine... This can take a while, please check the progress in the terminal.
Building TensorRT engine for /home/neri/code/stable-diffusion-webui/models/Unet-onnx/sd_xl_base_1.0_0.9vae_be9edd61.onnx: /home/neri/code/stable-diffusion-webui/models/Unet-trt/sd_xl_base_1.0_0.9vae_be9edd61_cc89_sample=1x4x96x96+2x4x128x128+8x4x128x128-timesteps=1+2+8-encoder_hidden_states=1x77x2048+2x77x2048+8x154x2048-y=1x2816+2x2816+8x2816.trt
[W] 'colored' module is not installed, will not use colors when logging. To enable colors, please install the 'colored' module: python3 -m pip install colored
[I] Loading tactic timing cache from /home/neri/code/stable-diffusion-webui/extensions/Stable-Diffusion-WebUI-TensorRT/timing_caches/timing_cache_linux_cc89.cache
WARNING:root:Timing cache file /home/neri/code/stable-diffusion-webui/extensions/Stable-Diffusion-WebUI-TensorRT/timing_caches/timing_cache_linux_cc89.cache not found, falling back to empty timing cache.
[I] Building engine with configuration:
    Flags                  | [FP16, REFIT, TF32]
    Engine Capability      | EngineCapability.DEFAULT
    Memory Pools           | [WORKSPACE: 16375.50 MiB, TACTIC_DRAM: 16375.50 MiB]
    Tactic Sources         | [CUBLAS, CUDNN, EDGE_MASK_CONVOLUTIONS, JIT_CONVOLUTIONS]
    Profiling Verbosity    | ProfilingVerbosity.LAYER_NAMES_ONLY
    Preview Features       | [FASTER_DYNAMIC_SHAPES_0805, DISABLE_EXTERNAL_TACTIC_SOURCES_FOR_CORE_0805]
Building engine:  50%|████████████████████████▌                        | 3/6 [00:00<00:00,  4.01it/s]
Building engine: 100%|█████████████████████████████████████████████████| 6/6 [06:22<00:00, 63.73s/it]
./webui.sh: line 256: 24174 Killed                  "${python_cmd}" -u "${LAUNCH_SCRIPT}" "$@"

Btw, no additional params on webui-user.sh

Hey! Are you using auto1111 dec branch? SDXL only works properly with some changes in the webui.

@arcanite24 increase memory or swap for WSL. It's killed due to OutOfMemory:
C:\Users{username}.wslconfig
[wsl2]
memory=24GB

Thanks! @andy-kru this fixed the issue!


Support core::fmt::Write on UARTs

I've found it useful in the past if the UART object implements core::fmt::Write. This would mean you can write:
let serial = Serial(...);
writeln!(serial, "Hello, {}!", name).unwrap();

I tried doing my own impl in my application, but as I've defined neither the core::fmt::Write trait, nor the Serial object, the compiler won't let me (even with the changes that went into 1.41).

I just found out, it does work with Tx:
let serial = Serial::new(...);
let (tx, rx) = serial.split();
writeln!(tx, "Hello, {}!", name).unwrap();

Wouldn't that be enough?


pull request for e2e test at 12/12/2016 00:45:03

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Use a pool instead of a single connection, and reorganize the worker around that

Closes #148
Closes #166
Sorry 100000000 times @elemoine
Successful PR Checklist:

[ ] Tests
[ ] Documentation (optionally: run spell checking)
[ ] Had a good time contributing? (if not, feel free to give some feedback)

Ok, I added a bunch of commits to finish fixing tests and because there was a lot missing for coverage.
I think we're good now, @elemoine you can re-review if you want.

New implementation of signals fails with Py3.6 only 😭

New implementation of signals fails with Py3.6 only sob

The issue is that asyncio.get_event_loop() does not return None if not running in the context of an asyncio task. Instead, it creates a event loop and returns it.
See the commit that I added to the branch for a fix. The fix involves using asyncio.Task.current_task() on Python 3.6 to test whether running in task context or not.

Might be worth cleaning up the Git commit history before merging.

Codecov Report

Merging #173 into master will not change coverage.
The diff coverage is 100%.

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

Might be worth cleaning up the Git commit history before merging.

I could but I think the risk of screwing up is higher than the gain.  :D


added Line through effect

Related Issue
Closes: #1610
Describe the changes you've made
added line through effect animation
Checklist:

[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] New and existing unit tests pass locally with my changes.

Screenshots

fixed conflicting files


Copy github permalink should not work or be disabled for files that used to be tracked by git but now aren't

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.68-insiders
OS Version: Windows 10

Steps to Reproduce:

Add a file to .gitignore or open a file not in the repo
Pick 'Copy github permalink' from the context menu
Try to open that link

It will fail because the file doesn't exist.

No I get the link. The link is just invalid.
Here's an example:
https://github.com/microsoft/vscode-jupyter/blob/61ba6bdfa9768566aa79f36e9b64dee073751beb/vscode.d.ts#L4192

Repro steps for me:

Git clone 'vscode-jupyter'
npm install
Open vscode.d.ts
Right click 'github permalink'

It gives me this:
https://github.com/microsoft/vscode-jupyter/blob/61ba6bdfa9768566aa79f36e9b64dee073751beb/vscode.d.ts#L1990

Thanks!
The reason I couldn't reproduce it is because vscode.d.ts actually was tracked by git in that repository at one point. The commit referenced in the link that's create is actually the commit at which it was removed.
@lszomoru is there some git extension API that I'm missing that can tell me if a file is currently tracked by git or if the file is git-ignored? Currently we use log with a path to determine if a file is tracked, but that doesn't work for a file that used to be tracked but is now git-ignored.

@alexr00, I am not aware of such extension API but if needed it is something that can be explored.

@lszomoru it's an edge case. Let's leave the issue open and see how many others hit it before adding new API for it.

Closing as we do handle this most of the time.

Having the same issue actually, I believe it has to do with when you set your .gitignore for a folder that isn't the root folder.


Add isort to code lint

Configure isort to lint code.

Codecov Report

Merging #663 (2353f9b) into master (eb59d87) will decrease coverage by 0.37%.
The diff coverage is 97.22%.

@@            Coverage Diff             @@
##           master     #663      +/-   ##
==========================================
- Coverage   89.81%   89.44%   -0.38%
==========================================
  Files          26       26
  Lines        1728     1724       -4
  Branches      257      243      -14
==========================================
- Hits         1552     1542      -10
- Misses        140      146       +6
  Partials       36       36

Impacted Files
Coverage Δ

vcr/stubs/boto_stubs.py
0.00% <ø> (ø)

vcr/stubs/httplib2_stubs.py
81.25% <ø> (ø)

vcr/stubs/urllib3_stubs.py
100.00% <ø> (ø)

vcr/serializers/yamlserializer.py
80.00% <66.66%> (-20.00%)
:arrow_down:

vcr/cassette.py
96.20% <100.00%> (ø)

vcr/config.py
94.96% <100.00%> (-0.04%)
:arrow_down:

vcr/filters.py
94.33% <100.00%> (ø)

vcr/matchers.py
96.05% <100.00%> (ø)

vcr/migration.py
74.48% <100.00%> (-2.05%)
:arrow_down:

vcr/patch.py
85.43% <100.00%> (-0.06%)
:arrow_down:

... and 12 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Generating Alarms upon detection

Hi jkjung,
Thank you very much for this wonderful work here, you are a big help.
I am currently working on a project and was hoping that if you could point me in the right direction. What I am trying to achieve is to do an object detection using a custom trained model, which I was able to achieve thanks to you and stream the live feed to a remote pc on the network, secondly, I need to generate an alarm when a detection takes place (please help me in this).
Now I am using yolov4 and using your trt_yolo_mjpeg.py file as source. Now one course of action in my mind was to somehow create a JSON file of every detection and then use a separate code to continually check through the JSON file for any new entry and generate an alarm in that case.
I would be grateful to you for your help.
Currently, I am working on Jetson Nano with jetpack 4.4.

The most relevant line of code is:
https://github.com/jkjung-avt/tensorrt_demos/blob/32ce1c39ae74c9cf0b93e491ecefbe3453a855c8/trt_yolo_mjpeg.py#L62
The detection outputs are bounding box coordinates (x1, y1, x2, y2), confidence scores and class IDs.  You could use those to create your own JSON file or generate alarms/events.

thank you so much, I will try this and get back to you.
once again thank you so much


Duplicate results in the result generate by the model fine-tuned by lora.

I use Lora to fine-tune the llama3-instruction model, and after I use the fine-tuned model for generation, the results duplicate and don't end. Example as follows:
tune run generate --config custom_generation_lora_config.yaml
INFO:torchtune.utils.logging:Running InferenceRecipe with resolved config:
checkpointer:
component: torchtune.utils.FullModelMetaCheckpointer
checkpoint_dir: ./Meta-Llama-3-8B-Instruct-ft
checkpoint_files:

meta_model_2.pt
model_type: LLAMA3
output_dir: ./Meta-Llama-3-8B-Instruct-ft
device: cuda
dtype: bf16
max_new_tokens: 300
model:
component: torchtune.models.llama3.llama3_8b
prompt: 'Please summarize the sentence by retaining all concrete objects and their
concrete information in this sentence,while deleting all abstract information such
as atmosphere, scene and summary.

The image captures a vibrant scene from a bustling street in India. The street is
teeming with life and activity, with various modes of transportation adding to the
dynamic atmosphere.  In the immediate foreground, a man dressed in a purple shirt
is seen riding a black motorcycle. He is not alone; a passenger, clad in a black
shirt, accompanies him on the journey. Their presence in the forefront of the image
suggests they are moving at a brisk pace, navigating their way through the busy
street. Just behind the motorcycle, a man in a white shirt is pedaling a blue bicycle
rickshaw. The rickshaw, a common sight on Indian streets, adds a touch of local
flavor to the scene. Despite being slightly obscured by the motorcycle, the rickshaw
driver''s determined expression is indicative of his effort to keep up with the
fast-paced traffic. Further back, the street is filled with an array of other vehicles
and pedestrians, each contributing to the overall hustle and bustle. The gray buildings
lining the street are adorned with various signs and advertisements, reflecting
the commercial nature of the area. Overall, this image paints a vivid picture of
daily life on an Indian street, characterized by its lively atmosphere, diverse
modes of transportation, and vibrant urban landscape.'
quantizer: null
seed: 1234
temperature: 0.6
tokenizer:
component: torchtune.models.llama3.llama3_tokenizer
path: Meta-Llama-3-8B-Instruct/original/tokenizer.model
top_k: 30
DEBUG:torchtune.utils.logging:Setting manual seed to local seed 1234. Local seed is seed + rank = 1234 + 0
INFO:torchtune.utils.logging:Model is initialized with precision torch.bfloat16.
INFO:torchtune.utils.logging:Please summarize the sentence by retaining all concrete objects and their concrete information in this sentence,while deleting all abstract information such as atmosphere, scene and summary.
The image captures a vibrant scene from a bustling street in India. The street is teeming with life and activity, with various modes of transportation adding to the dynamic atmosphere.  In the immediate foreground, a man dressed in a purple shirt is seen riding a black motorcycle. He is not alone; a passenger, clad in a black shirt, accompanies him on the journey. Their presence in the forefront of the image suggests they are moving at a brisk pace, navigating their way through the busy street. Just behind the motorcycle, a man in a white shirt is pedaling a blue bicycle rickshaw. The rickshaw, a common sight on Indian streets, adds a touch of local flavor to the scene. Despite being slightly obscured by the motorcycle, the rickshaw driver's determined expression is indicative of his effort to keep up with the fast-paced traffic. Further back, the street is filled with an array of other vehicles and pedestrians, each contributing to the overall hustle and bustle. The gray buildings lining the street are adorned with various signs and advertisements, reflecting the commercial nature of the area. Overall, this image paints a vivid picture of daily life on an Indian street, characterized by its lively atmosphere, diverse modes of transportation, and vibrant urban landscape.
 Behind them, a man in a white shirt is pedaling a blue bicycle rickshaw. The street is filled with other vehicles and pedestrians, and the buildings are adorned with signs and advertisements. This image captures a busy scene in India.    Abstract information deleted: atmosphere, scene, summary.  Concrete information retained: concrete objects and their concrete information.   Behind them, a man in a white shirt is pedaling a blue bicycle rickshaw. The street is filled with other vehicles and pedestrians, and the buildings are adorned with signs and advertisements. This image captures a busy scene in India.    Abstract information deleted: atmosphere, scene, summary.  Concrete information retained: concrete objects and their concrete information.   Behind them, a man in a white shirt is pedaling a blue bicycle rickshaw. The street is
INFO:torchtune.utils.logging:Time for inference: 10.56 sec total, 28.40 tokens/sec
INFO:torchtune.utils.logging:Bandwidth achieved: 519.09 GB/s
INFO:torchtune.utils.logging:Memory used: 18.52 GB
How can I solve this problem? Is there something wrong with eos?

Thanks for filing the issue! I did a quick check of our generation recipe to see if there were any immediate potential issues around stopping when an EOS is issued. Things were updated a bit after https://github.com/pytorch/torchtune/pull/871 that started to support stopping after some non EOS tokens are issued, but it looks like we do respect EOS tokens as expected. Based on this, another initial thought is that the finetuned model just isn't generating an EOS token for some reason.
cc @ebsmothers who might have more context on this.

Hi @gulizhoutao thanks for creating the issue. Can you share the command you used to fine-tune the model along with a paste of your fine-tune and generate configs? Then I can try to reproduce the behavior you're seeing to figure out the cause.

Hi @gulizhoutao were you able to resolve your issue? Closing this as stale but please reopen if you're still running into problems.


fix #75: detect sass binary in the path and use it if available

This PR fix #75 by doing:

Use the binary sass if it is available in the path
If the path is not available in the path, it will try to download it

OK will adjust my PR then ! Thank you for the review!

@bocharsky-bw Ready for another review.


ARROW-12683 [C++] Enable fine-grained I/O (coalescing) in IPC reader

This PR tries to fix https://issues.apache.org/jira/browse/ARROW-12683 ([C++] Enable fine-grained I/O (coalescing) in IPC reader)
This is my first PR for arrow, please forgive my ignorance and let me know the issues for code format/convention/etc.
And probably I chose a wrong issue as the first problem I want to contribute since after investigating this issue for a while, I realize it is more difficult than I expected :(
Currently I chose an approach that can re-use the current code as much as possible in ArrayLoader, to do that, I use a no-op random access file to record the IO and replay only the necessary read operation later. But I am not certain if this is the best approach for solving this issue, and if this kind of approach doesn't fit, feel free to reject this PR, and please let me know how this should be done and I can give it another try.
Besides passing the unit tests, I verified the IO behavior under Linux manually by watching the file pages loaded in page cache, and it works largely as I expected, and the IO saving varies depending on the specific field to be accessed.

@westonpace  @lidavidm I added more unit tests using mock file system, and there are still some modifications I am not quite sure if they fit (the cmake change and the added virtual for DoReadAt in io::BufferReader), could you please help to review?
Additionally, it seems my latest commit failed the CI build, I checked out the CI output, it says something like "inconsistent dll linkage" under Windows env but I didn't see any detailed info there, and I don't have a Windows env for verification, do you have any clue how I can fix it? Thanks.

The inconsistent linkage is perhaps due to a (missing) ARROW_EXPORT somewhere. However as suggested above just wrapping RandomAccessFile should be sufficient instead of going all the way to MockFileSystem.

Oh, actually, what is the CMake invocation used? You may need -DARROW_FILESYSTEM=ON, instead of adding the filesystem .cc files to the IPC build - that would explain the linker errors. (Just as an FYI for the future - I still think MockFileSystem is overkill here)

The inconsistent linkage is perhaps due to a (missing) ARROW_EXPORT somewhere

Okay, i will look into it.

just wrapping RandomAccessFile should be sufficient instead of going all the way to MockFileSystem

Okay, got it, i didn't catch this previously, let me give it another try.

You may need -DARROW_FILESYSTEM=ON

Let me check this today. I will first try wrapping RandomAccessFile to see if it helps.

Sorry, so just to be clear:
I think the issues are because ARROW_FILESYSTEM needs to be ON. You shouldn't need to mess with ARROW_EXPORT or anything (I commented that before seeing the rest of what had been added). However, instead of all that, I think wrapping RandomAccessFile is easier than using the whole filesystem machinery.

@westonpace @lidavidm Instead of using mockfs, I simplified the unit testing by using the TrackedRandomAccessFile suggested by David, now there is no change for CMake file, and there is no change to the io::BufferReader API. Could you please help to review?
BTW, is there any documentation describing how I can run the clang-format like the CI job? I find my change sometimes breaks CI lint job, but I've no idea what the recommended approach is for running clang format locally for this project.

BTW, is there any documentation describing how I can run the clang-format like the CI job? I find my change sometimes breaks CI lint job, but I've no idea what the recommended approach is for running clang format locally for this project.

Here is the documentation:
Code Style, Linting, and CI
https://arrow.apache.org/docs/developers/cpp/development.html#code-style-linting-and-ci

I goofed slightly.  @lidavidm contacted me externally and pointed out that only Read should advance the position_ (and not ReadAt).  I've submitted a PR to your branch that should address this.  Feel free to use that or make the change some other way.  Sorry for the mixup.

I goofed slightly. @lidavidm contacted me externally and pointed out that only Read should advance the position_ (and not ReadAt). I've submitted a PR to your branch that should address this. Feel free to use that or make the change some other way. Sorry for the mixup.

It is me that really should do more research on this topic. Thanks so much for the PR, and I've merged it and squashed the commits into single one, please check it out.

Looks like one last CI formatting thing:
/arrow/cpp/src/arrow/ipc/reader_internal.h:84:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]

Looks like one last CI formatting thing:
/arrow/cpp/src/arrow/ipc/reader_internal.h:84:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]

Fixed. For some reason, this format issue was not reported by the lint program in docker image, I ran it like docker-compose run ubuntu-lint.

Hmm, I'll have to take a look and see what's up there.  Some other ways to run lint are ninja lint and archery lint --cpplint.  The former requires you to use the ninja generator when you create your build directory.  The latter requires you to install archery (which is a pretty helpful tool for a variety of Arrow development tasks).
There is also ninja format and archery lint --cpplint --fix which will apply some formatting changes automatically.

@niyue do you have a JIRA account? You can register at https://issues.apache.org/jira/secure/Signup!default.jspa. Then let us know your username and we can assign you the ticket and merge.

@lidavidm my JIRA account is niyue, thanks.

Congrats on your first contribution! :tada:


Mark application insights as "deprecated"

Can we publish a v1.0 release of application insights?

Hi @jaredsburrows - we have decided that HockeyApp is our major offering for mobile and cross-plattform crash reporting, beta distribution and user feedback, this means there is no active support on the Application Insights mobile SDKs going on.
Thus we will not release a stable version of the SDK.
Best,
Mat

@ranterle Thanks for the fast response. Can you please add "Deprecated" to the description in the README and point to the HockeyApp repo?

Do you mind adding a link to the README.md to https://github.com/bitstadium/HockeySDK-Android?

In the readme under the section Breaking Changes both the deprecation and HockeyApp as the go-to alternative are mentioned.

@ranterle Awesome!


BAU (pending ticket): Fix async Google pay check

Google Pay async check ::

Currently checks if(Promise) -- this will always be true
Update to use Promise.then

Before merging/ testing:

This will introduce a wait before we know if Google Pay is available -- the user experience should be validated

Note this should be reverted and superseded by https://github.com/alphagov/pay-frontend/pull/842. Merging now to verify behaviour in staging.


add tags to tenant

now that tenant is in automate's $evm.object, it wants
tenant to be taggable. Which we want for other reasons too
/cc @gmcculloug adding tags to tenants
/cc @abellotti @mkanoor this should fix automate issue

:+1: solves issue I had with deployed service custom buttons running InspectMe causing AE errors.


[FR] error[E0063]: missing fields compact_format, database_schema, date_time_crate and 7 other fields in initializer of GenerateSubcommands

I'm trying to use sea-orm-cli (0.9.2) as library with the below code but I don't know how to initialize it without all the command's flags:
use sea_orm_cli::run_generate_command;

pub async fn gen() {
    run_generate_command(
        sea_orm_cli::GenerateSubcommands::Entity {
            database_url: "...connection_url...",
            output_dir: "./entities".to_string(),
            // compact_format: (),
            // expanded_format: (),
            // include_hidden_tables: (),
            // tables: (),
            // ignore_tables: (),
            // max_connections: (),
            // database_schema: (),
            // with_serde: (),
            // with_copy_enums: (),
            // date_time_crate: (),
        },
        true,
    )
    .await;
}

The error is:
error[E0063]: missing fields `compact_format`, `database_schema`, `date_time_crate` and 7 other fields in initializer of `GenerateSubcommands`
 --> src\seaorm.rs:6:9
  |
6 |         sea_orm_cli::GenerateSubcommands::Entity {
  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `compact_format`, `database_schema`, `date_time_crate` and 7 other fields

How to fix this?
Should we create a new() fn?
Can we derive(Default)?

Hey @frederikhors, what's up :)
You can find the defaults here, search "default_value = ":

https://github.com/SeaQL/sea-orm/blob/4e51b8837a7bcea418001bcab854613a5a61c525/sea-orm-cli/src/cli.rs#L84-L191

But I believe you have figured that out already hahaa

https://github.com/SeaQL/sea-orm/issues/1047#issuecomment-1250139862

Can we derive(Default)?

I don't think we should derive default at here. I'm not sure what's the end goal or what you want to achieve using the sea-orm-cli programmatically.
I think it's the best to program your own logic for the code generation part instead of relying on the sea-orm-cli to do it. That means you should depends directly on sea-orm-codegen like this:

https://github.com/SeaQL/seaography/blob/003770beb6f085dd711019b426aedf501a10ab5a/generator/src/sea_orm_codegen.rs#L9-L19

I read (I'm still studying Rust) on this SO answer that you can derive(Default) in order to initialize "configuration" structs (like this one) with a simpler code:
let conf = sea_orm_cli::GenerateSubcommands::Entity {
  database_url: "...database_url here...",
  output_dir: "./entities".to_string(),
  ..Default::default()
}

I think this is better than:
let conf = sea_orm_cli::GenerateSubcommands::Entity {
  database_url: "...database_url here...",
  output_dir: "./entities".to_string(),
  compact_format: false,
  expanded_format: false,
  include_hidden_tables: false,
  tables: None,
  ignore_tables: vec!["".to_string()],
  max_connections: 1,
  database_schema: "public".to_string(),
  with_serde: "none".to_string(),
  with_copy_enums: false,
  date_time_crate: DateTimeCrate::Time,
},

Is there another way?
Am I totally wrong?

It's true we can implement Default for GenerateSubcommands enum. However, how do we provide default value for database_url? That's one thing holding me back.
Instead, can we rewrite async fn run_generate_command? Pull the logic of it out into another function. The function take a database_url and other optional options (with defaults).

I'm learning Rust... I can't answer. But I think the second is the way to go.
Anyway I think the derive(Default) uses empty string for String type, right? If yes I think the error will be "cannot connect to DB". 😄

I'll try to create a PR for this tmr :)

Thank. BTW what I really need now is: https://github.com/SeaQL/sea-orm/discussions/992. If you have time... 😃

I'll draft a PR for this issue then move on to https://github.com/SeaQL/sea-orm/discussions/992. Sorry for the delay

Yeah. I think we're good.


New version: michidk.vscli version 0.1.7

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


Windows: Extract apinotes to inside Swift SDK

Reflect the change in apple/swift#41762

@stevapple @compnerd What is the status of the PR? its been a few months since this PR was opened.

I think that the associated changes still had caused some trouble.  I don't think that this is ready yet.

The CustomAction has been removed.  I don't think that there is any part of this change that is still relevant.  If I've missed something, please rebase and reopen the PR.