Support all formatters from the Java stdlib DateTimeFormatter

The library supports a set of format specifiers already, but does not support all of the ones from the standard library. Ideally, it would be a drop in replacement.

Formats from the standard library:
|-----+----------------------------+--------------+-----------------------------------------------|
| G   | era                        | text         | AD; Anno Domini; A                            |
| u   | year                       | year         | 2004; 04                                      |
| y   | year-of-era                | year         | 2004; 04                                      |
| D   | day-of-year                | number       | 189                                           |
| M/L | month-of-year              | number/text  | 7; 07; Jul; July; J                           |
| d   | day-of-month               | number       | 10                                            |
| g   | modified-julian-day        | number       | 2451334                                       |
| Q/q | quarter-of-year            | number/text  | 3; 03; Q3; 3rd quarter                        |
| Y   | week-based-year            | year         | 1996; 96                                      |
| w   | week-of-week-based-year    | number       | 27                                            |
| W   | week-of-month              | number       | 4                                             |
| E   | day-of-week                | text         | Tue; Tuesday; T                               |
| e/c | localized day-of-week      | number/text  | 2; 02; Tue; Tuesday; T                        |
| F   | day-of-week-in-month       | number       | 3                                             |
| a   | am-pm-of-day               | text         | PM                                            |
| B   | period-of-day              | text         | in the morning                                |
| h   | clock-hour-of-am-pm (1-12) | number       | 12                                            |
| K   | hour-of-am-pm (0-11)       | number       | 0                                             |
| k   | clock-hour-of-day (1-24)   | number       | 24                                            |
| H   | hour-of-day (0-23)         | number       | 0                                             |
| m   | minute-of-hour             | number       | 30                                            |
| s   | second-of-minute           | number       | 55                                            |
| S   | fraction-of-second         | fraction     | 978                                           |
| A   | milli-of-day               | number       | 1234                                          |
| n   | nano-of-second             | number       | 987654321                                     |
| N   | nano-of-day                | number       |<PHONE_NUMBER>                                    |
| V   | time-zone ID               | zone-id      | America/Los_Angeles; Z; -08:30                |
| v   | generic time-zone name     | zone-name    | Pacific Time; PT                              |
| z   | time-zone name             | zone-name    | Pacific Standard Time; PST                    |
| O   | localized zone-offset      | offset-O     | GMT+8; GMT+08:00; UTC-08:00                   |
| X   | zone-offset 'Z' for zero   | offset-X     | Z; -08; -0830; -08:30; -083015; -08:30:15     |
| x   | zone-offset                | offset-x     | +0000; -08; -0830; -08:30; -083015; -08:30:15 |
| Z   | zone-offset                | offset-Z     | +0000; -0800; -08:00                          |
| p   | pad next                   | pad modifier | 1                                             |
| '   | escape for text            | delimiter    |                                               |
| ''  | single quote               | literal      | '                                             |
| [   | optional section start     |              |                                               |
| ]   | optional section end       |              |                                               |
| #   | reserved for future use    |              |                                               |
| {   | reserved for future use    |              |                                               |
| }   | reserved for future use    |              |                                               |


Unhandled Exception: System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions

Probably something stupid that I've messed up, but I've recently gotten this error and had my builds crash a couple of times.
I haven't changed much, but I have changed some small things on the build machine (hence concern it's me...).
However, the builds will often succeed too, and if I "Replay" the build, then it worked each time so far.
On the most recent (just before I wrote this), the scripts were successfully executed 4/6 times for various LabVIEW bitness and debug/release builds, and then it errored on the 2nd to last set.
The Jenkins log reads:
Unhandled Exception: System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at System.Net.Sockets.TcpListener.Start(Int32 backlog)
at G_CLI.lvComms..ctor()
at G_CLI.Program.Main(String[] args)
scons: building terminated because of errors.
scons: *** [Path\To\My\PPL.lvlibp] Error<PHONE_NUMBER>
Error<PHONE_NUMBER> is undefined in LabVIEW.
Any thoughts on what might be going wrong?

Wierd - it obviously can't be a real access restriction if it works most of the time.
The software attempts to find a free port to use - my guess is this could be a race condition where that port gets used in the time that we select it to making the connection (since we don't reserve it in any way). Do you have parallel builds going on? That might make that scenario more likely.
The new cross platform version I've been working on (but been pulled away from at the minute) lets the OS pick a free port by requesting port 0. If the .net API supports it that would be the solution here too

I don't have parallel builds, but this is part of a series of builds in which LabVIEW is called with some arguments via G-CLI, and then when that finishes it is called again with a different set of arguments.
I would have to check logs for the exact pair of settings that can cause problems, but in the past I've seen issues (I think between repeated calls to the same LabVIEW version) where the connection times out. My Jenkins script handles this by just ignoring the first error and retrying, which then succeeds (I guess a race condition with closing and relaunching, not sure...).
Is it possible that the port is reported as free by .NET but is in some half-closed state with the previous call to G-CLI+LabVIEW?
If so, is there some reason this would be more likely now? (I guess since I haven't changed G-CLI, this would be a Windows Update problem?).

Hmm, slight variation but probably doesn't add much, noting it just in case...
Today all 6 builds succeeded for a given run (with one timeout and retry, which is probably about typical... I should look at this but plan to maybe use Docker in the future which should obviate this problem) but when checking the version numbers using an EXE (previously compiled, stored in artifacts of a separate pipeline and copied over) I got the same socket error as in the title.
I think the use of an EXE vs a VI probably doesn't make a huge difference, but I wanted to add that now I've seen this for both (I guess the EXE only loads the LabVIEW RTE, not the IDE?).
Several other builds succeeded without hitting this, so I'd put this at ~1/20 calls to G-CLI since I first saw it?

Running into the same issue more or less frequently. Sometime it's running perfectly fine for days and sometimes I have to restart my CI pipeline over and over again until I get lucky.

Thanks for the updates - let me see if I can eliminate that race condition. That is the biggest suspect for me but I'm not certain either.

A fuller log of perhaps a related condition, this with the exe called at the end of the build:
Target build is Windows_32_Release, checkCmd is g-cli --lv-ver 2019  GetPPLVersion_32.exe -- "C:\Users\christian-butcher\Jenkins\workspace\All_PPLs\PPLs\Windows\Release_32\Fanuc_NSProxy.lvlibp"
[Pipeline] powershell
powershell.exe : Read Error
At C:\Users\christian-butcher\Jenkins\workspace\All_PPLs@tmp\durable-b1b5d9e2\powershellWrapper.ps1:3 char:1
+ & powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -Comm ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Read Error:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

: Read Message: Exception Found System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. --->
System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
   at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
   at System.IO.Stream.<>c.<BeginEndReadAsync>b__43_0(Stream stream, ReadWriteParameters args, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncTrim[TInstance,TArgs](TInstance thisRef, TArgs args, Func`5 beginMethod, Func`3 endMethod)
   at System.IO.Stream.BeginEndReadAsync(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.Stream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
   at System.IO.Stream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count)
   at G_CLI.lvComms.<readMessageData>d__16.MoveNext()
Since the network stream will be out of sync the application will now exit.

This one, I guess, looks like what you described (trying to get a connection that might have just been closed from a previous operation)?

That sounds a little different to me. That reads to me that the LabVIEW end closed the connection without the C# end expecting it. Either because it didn't recieve and exit or hadn't processed it before LabVIEW closed

So I was trying to track this down a bit better after a few more failed builds and discovered a slightly faster test system for triggering - I guess next will be rebuilding the source code on my PC with debugging and try step through, but for a race condition I expect it's difficult. It seems to hit this far less frequently when I do the following rather than a real build, but it can be triggered by repeatedly calling this command and doesn't require a LabVIEW launch (adding a non-existent VI name gives a different normal error, but can also trigger by repeatedly calling this command line):
g-cli --lv-ver 200
g-cli --lv-ver 200 "nonVI.vi"
C:\Users\Christian\dummy>g-cli --lv-ver 200 --verbose "nonVI.vi"
G CLI Started - Verbose Mode
Version <IP_ADDRESS> 64-Bit
G CLI Arguments: --lv-ver 200 --verbose nonVI.vi
Arguments passed to LabVIEW:
Current Version: 2017 SP1 f3, 32bit
Detected LabVIEW versions:
2017 SP1 f3, 32bit(C:\Program Files (x86)\National Instruments\LabVIEW 2017\)
2019 SP1 f3, 32bit(C:\Program Files (x86)\National Instruments\LabVIEW 2019\)
2020 f1, 32bit(C:\Program Files (x86)\National Instruments\LabVIEW 2020\)
LabVIEW version "200" not found!
Available LabVIEW versions are:
2017 SP1 f3, 32bit
2019 SP1 f3, 32bit
2020 f1, 32bit

C:\Users\Christian\dummy>g-cli --lv-ver 200 --verbose "nonVI.vi"

Unhandled Exception: System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.TcpListener.Start(Int32 backlog)
   at G_CLI.lvComms..ctor()
   at G_CLI.Program.Main(String[] args)

C:\Users\Christian\dummy>g-cli --lv-ver 200
No launch VI supplied!

C:\Users\Christian\dummy>g-cli --lv-ver 200

Unhandled Exception: System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.TcpListener.Start(Int32 backlog)
   at G_CLI.lvComms..ctor()
   at G_CLI.Program.Main(String[] args)

Do the changes to the service locator code make a difference here if I use 2.4.0 when the multiple instances ini key is not set?

Re this question/point:

The new cross platform version I've been working on (but been pulled away from at the minute) lets the OS pick a free port by requesting port 0. If the .net API supports it that would be the solution here too

the documentation here lists a constructor (the same one you're using, that is) that accepts 0 to be assigned a port:

If you do not care which local port is used, you can specify 0 for the port number. In this case, the service provider will assign an available port number between 1024 and 65535. If you use this approach, you can discover what local network address and port number has been assigned by using the LocalEndpoint property.

The link is for .NET 5.0, but the documentation for .NET Framework 4.7 and .NET Core 3.1 have identical text (at least for that couple of paragraphs).
This might or might not be relevant -  I saw you're planning on moving to Rust for cross-platform in the future anyway!

Merged - thanks Chris!
Great to have it fixed in this version anyway - the Rust version is all about when I can actually get the time to finish it.
I'll book in some time in the next week to get this properly released.

Hi James,
I'm back to working on a new build system and running into this again - I had a vague memory that there was an issue about it (go figure) and came here, found the issue, saw the milestone/version, and checked my command line, saw <IP_ADDRESS> and figured I was stupid and hadn't updated.
Unfortunately, I guess a 2.5 release never happened, looking at the releases page?
Is the Rust version suitable for use instead (the alpha listed)? Or should I build a copy of this from somewhere around May last year locally? Or do you plan on releasing another copy of the C# code version? (I see this issue, and then maybe #102 mentioning a pre-3.0 release, #104 seems like it indicates instead a plan to release the 3.0 version soon?)

Hi Christian,
I've struggled to put much time into this but I have a couple of weeks now where this is top of my list.
If you want to try the alpha, I've been running it for several months at this stage - then please do. The only feature missing is killing LabVIEW on a ctrl C command.
By the end of next week (perhaps this week) I hope to have the beta which includes the Ctrl C support and some improved error handler
I don't know if you can grab the latest build from GitHub actions? If so that is much closer to the beta (but will still identify as alpha2)
James McNally
Wiresmith Technology
t: 01635 597171

From: Christian Butcher @.>
Sent: Tuesday, July 26, 2022 2:16:16 AM
To: JamesMc86/G-CLI @.>
Cc: James McNally @.>; State change @.>
Subject: Re: [JamesMc86/G-CLI] Unhandled Exception: System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions (#100)
Hi James,
I'm back to working on a new build system and running into this again - I had a vague memory that there was an issue about it (go figure) and came here, found the issue, saw the milestone/version, and checked my command line, saw <IP_ADDRESS> and figured I was stupid and hadn't updated.
Unfortunately, I guess a 2.5 release never happened, looking at the releases page?
Is the Rust version suitable for use instead (the alpha listed)? Or should I build a copy of this from somewhere around May last year locally? Or do you plan on releasing another copy of the C# code version? (I see this issue, and then maybe #102https://github.com/JamesMc86/G-CLI/issues/102 mentioning a pre-3.0 release, #104https://github.com/JamesMc86/G-CLI/issues/104 seems like it indicates instead a plan to release the 3.0 version soon?)
—
Reply to this email directly, view it on GitHubhttps://github.com/JamesMc86/G-CLI/issues/100#issuecomment-1194857239, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABBTHYB73SQ6AXPC5HKURA3VV436BANCNFSM43BSX63Q.
You are receiving this because you modified the open/close state.Message ID: @.***>


DatePicker can not switch to next/prev month/year if already has value

Current Behavior
When DatePicker has value, and you want to switch to next/prev month/year in dropdown, The UI is animated but the current month stayed the same as current value.
Expected Behavior
The current month should be switched to  next/prev month/year
Steps To Reproduce

Choose a value for DatePicker
Click DatePicker again to open dropdown
Click Next/Prev month/year button

Link to Reproduction / Stackblitz
No response
More Information
No response

Fixed in 0.21.2-next, could you check it?

I confirmed this is fixed in 0.21.2-next. Thanks


The last story doesnt run

Rasa Core version: 0.97
Python version: 3.6
Operating system (windows, osx, ...): windows
Issue:
My last line of story doesn't run though. I typed yes (intent: userconfirm), but the bot doesnt conduct utter_goodbye
yes
2018-07-11 11:38:09 DEBUG    rasa_core.tracker_store  - Recreating tracker for id 'default'
2018-07-11 11:38:09 WARNING  py.warnings  - C:\Users\e8180\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py:151: DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use `array.size > 0` to check that an array is not empty.
  if diff:

2018-07-11 11:38:09 DEBUG    rasa_core.processor  - Received user message 'yes' with intent '{'name': 'userconfirm', 'confidence': 0.8337372820468066}' and entities '[]'
2018-07-11 11:38:09 DEBUG    rasa_core.processor  - Logged UserUtterance - tracker now has 21 events
2018-07-11 11:38:09 DEBUG    rasa_core.processor  - Current slot values:
        essay_topic: motivation
        requested_slot: essay_topic
        user_name: Mike
2018-07-11 11:38:09 DEBUG    rasa_core.policies.memoization  - Current tracker state [{'slot_essay_topic_0': 1.0, 'slot_user_name_0': 1.0, 'prev_action_topic': 1.0, 'intent_inform': 1.0}, {'slot_essay_topic_0': 1.0, 'slot_user_name_0': 1.0, 'prev_utter_confirm': 1.0, 'intent_inform': 1.0}, {'slot_essay_topic_0': 1.0, 'slot_user_name_0': 1.0, 'intent_userconfirm': 1.0, 'prev_action_listen': 1.0}]
2018-07-11 11:38:09 DEBUG    rasa_core.policies.memoization  - There is no memorised next action
2018-07-11 11:38:09 DEBUG    rasa_core.policies.ensemble  - Predicted next action using policy_1_KerasPolicy
2018-07-11 11:38:09 DEBUG    rasa_core.policies.ensemble  - Predicted next action 'action_listen' with prob 0.83.
2018-07-11 11:38:09 DEBUG    rasa_core.processor  - Action 'action_listen' ended with events '[]'
2018-07-11 11:38:09 DEBUG    rasa_core.processor  - Current topic: None

intents:
  - greet
  - inform
  - request
  - userconfirm
  - usrname

actions:
- utter_confirm
- utter_ask_essay_topic
- actions.ActionTopic
- utter_goodbye
- utter_ask_user_name
- actions.ActionName

entities:
  - essay_topic
  - user_name

slots:
  essay_topic:
    type: text
  user_name:
    type: text
  requested_slot:
    type: unfeaturized

templates:
  utter_ask_user_name:
  - text: "What is your name?"
  utter_confirm:
  - text: "so your topic is {essay_topic}! Is it correct?"
  utter_ask_essay_topic:
  - text: "Hi, {user_name}! what is your topic?"
  utter_goodbye:
  - text: "Bye"

intent:
## intent:inform
- my topic is [motivation](essay_topic)
- topic is [peer review](essay_topic)

## intent:usrname
- [Mike](user_name)
- [John](user_name)
- [Mary](user_name)
- [Daniel](user_name)
- [Mladin](user_name)
- My name is [Daniel](user_name)
- My name is [Phil](user_name)
- My name is [Sean](user_name)
- name is [Mark](user_name)

## intent:userconfirm
- OK
- Okay
- ok
- sure
- thanks
- thank you
- next?
- what's next?
- Yes
- yes

stories:
* greet
  - action_name
  - slot{"requested_slot": "user_name"}
* usrname{"user_name": "Mike"}
  - action_name
  - slot{"user_name": "Mike"}
  - action_topic
  - slot{"requested_slot": "essay_topic"}
* inform{"essay_topic": "motivation"}
  - action_topic
  - slot{"essay_topic": "motivation"}
  - utter_confirm
* userconfirm
  - utter_goodbye

the output shows that there is no memorized action, which means the previous input must be slightly different than what's in your story. I would propose trying the same in interactive learning mode and then exporting the story at the end (sending 0) to compare to what's in your training data

I tried the interactive learning and output the stories. It works to the last stories but when I run python -m rasa_core.run -d models/current/dialogue -u models/current/nlu the result is still the same though.
I do not see the major change as in my original stories...
Stories generated by interactive learning by using /intent:
  ## Generated Story -3327434158694432926
* greet
    - action_name
    - slot{"requested_slot": "user_name"}
* user_name
    - action_name
    - slot{"user_name": "/user_name"}
    - action_topic
    - slot{"requested_slot": "essay_topic"}
* inform
    - action_topic
    - slot{"essay_topic": "/inform"}
    - utter_confirm
* userconfirm
    - utter_goodbye
    - export

Stories generated by interactive learning by using the training data from my intent:
## Generated Story -6334289867456384470
* hi
    - action_name
    - slot{"requested_slot": "user_name"}
* Mike
    - action_name
    - slot{"user_name": "/Mike"}
    - action_topic
    - slot{"requested_slot": "essay_topic"}
* motivation
    - action_topic
    - slot{"essay_topic": "/motivation"}
    - utter_confirm
* yes
    - utter_goodbye
    - export

I don't really know what's wrong with it, but it works now. I didnt even change anything.....why is it happening?

That second story you posted is in the wrong format - you shouldn't add NLU data to your stories file. Did you specify an NLU model while running online training?

@akelad I use pipeline: "spacy_sklearn"
The second story was generated by interactive learning and I am just comparing if there is any difference to the first one. I did not use the second one though.

Hmm, that story doesn't look like it was converted into intents by NLU though... My guess is something went wrong in the story earlier on. Try and have a look at the whole debug log and see if all your intent/entities were definitely recognised correctly, some more explanation of the debug log here might help: http://rasa.com/docs/core/debugging/


CLI options clarification

I am looking to get a bit of clarification on some of the cli options:

Are Full and Complete essentially the same option? Is Complete deprecated since it doesn't appear in the help message?
ParseSpeed doesn't appear in the help message - I understand that ParseSpeed=1 does a full parse of the file, is it just 0 (off) and 1 (on) or are there other settings? Interestingly, setting ParseSpeed=0 has a slightly different output than leaving it out altogether:
389HR.mediainfo.xml.txt
389HR.mediainfo-parsespeed-0.xml.txt
389HR.mediainfo-parsespeed-1.xml.txt

Are Full and Complete essentially the same option?

Are Full and Complete essentially the same option?

Yes.

Is Complete deprecated since it doesn't appear in the help message?

I need to clarify that, currently both are synonyms and I should "kill" one at some point. Help message also need a lot of cleanup / expansion :(.

ParseSpeed doesn't appear in the help message

I am so late on the documentation, not a priority for anybody then lot of questions... So need to be done at some point.

I understand that ParseSpeed=1 does a full parse of the file, is it just 0 (off) and 1 (on) or are there other settings?

Part of the doc I need to create, a quick version:

-1 is "fastest", new (this year), currently only for MXF, super fast parsing, only MXF headers, done for a customer who wanted to quickly scan thousands of files and accepting to rely on only the MXF headers and not the essence contents
0 is "faster" parsing, reducing the count of bytes read, but less information (captions detection, GOP size...)
0.3 exists also for some edge cases, something in between
0.5 is default parsing, balance between bytes read and output completeness
0.7 is "slower" parsing sometimes looking for more tips in the file
1 is "slowest" parsing, full parsing


treeview full rebuild is not automatically triggering a SetNeedsFullReRender() in parent Frame

in theory this should be happening automatically -- would be good for this to be automatic as it should know that structural changes have happened and a full rerender at frame level is needed.
gide symbolsview is test case
149:	sfr.SetFullReRender()  // makes it work -

Ok, I think I've figured out the issue here:

if you do UpdateStart() at a higher level than e.g., the TreeView itself, then that prevents the TreeView from sending its own UpdateSig, and that is what triggers the Viewport to do the full rebuild.

So we could have the higher level guys go down through their children and look for any cases where a full rebuild might be required, but that seems rather expensive.  So, on balance, it probably just makes sense to document this and have people use the "SetFullReRender" as needed.

actually, it shouldn't be that expensive and would be better overall to just do the loop down and see if something needs the full rebuild.

doing this child check everywhere is not good (buttons in particular do a lot of local full re-rendering and otherwise they end up triggering large-scale redraws all the time), but adding it just for Anchors works in initial tests -- will need to see how it goes but going with that for now.


Create OAuthCredentialOptions to add nonce to oauth credential

Description
Support nonce to associate credential obtained by apple sign in with flutter web.
Related Issues
https://github.com/firebase/flutterfire/issues/6594
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Oops, there was already a PR. Close.
https://github.com/firebase/flutterfire/pull/8410


Update code example

Fixed a typo in the code example. <Geq> [...] </Eq> is incorrect, the start and end tag should be the same. In the context of this example the correct tag is <Eq>.

Great catch - thank you @jagopauwels - the change should be live shortly!


feat(reloader): Adds reloader to kube-system

Description of the change
Adds reloader to the cluster
Benefits
Restarts pods when Kubernetes configmap or secret changes
Possible drawbacks
Possibly broke some pods
Additional information
Very usefull for cluster (wish that k3s would have this one by default.

Closes https://github.com/axeII/home-ops/issues/96


Need to configure Database for recording selected spots.

As of now, no databse is set up for recording selected spots...
only login resgister db is functional...
i am completely new to backend programming, n somehow tricked my teacher into believing this site works :P
but now i do want to complete it, help me :)

Maybe you could assign each user a unique ID, and whenever a user selects a spot, you could tack on that user ID to the spot in that database so no one else can reserve it? Haven't gone into your code in depth, so this will probably be implemented differently than what I described

Maybe you could assign each user a unique ID, and whenever a user selects a spot, you could tack on that user ID to the spot in that database so no one else can reserve it? Haven't gone into your code in depth, so this will probably be implemented differently than what I described

well, i was considering a different approach, like adding one more column to existing db for booked spots, which would be stored in db after hitting book btn, and implementing same method used for "email already exist" error you get while registering for selected spots so other people cannot book a spot twice...

That's smart! I think that would be the best way to go


add name argument to prismaticCodec function AND update to purs 0.14

I like it - I think I should have done it this way in the first place, and probably only have the named version.
I'll fix the build and merge this later on today.

:+1: agree, I have thought too that this function should replace prismaticCodec )

updated

@garyb added update to purs 0.14

@srghma This needs some work:

You'll need to update the bower.json file so that all the dependencies move up by a major version.
You'll need to update the package.json file to move pulp to ^15.0.0, purescript to ^0.14.0, and psa to ^0.8.2
You also need to update the test modules -- you've only updated the source.

If you don't have time at the moment I can take care of this tomorrow. Just let me know!

I've added a migration to PureScript 0.14 here:
https://github.com/garyb/purescript-codec-argonaut/pull/35
It doesn't include the prismaticCodec function, so it doesn't close this PR.

tnx everyone! sorry didnt fix in time) trying to not touch computer)

No problem! Thanks for getting it started!


Yocto Project Compatible

This small series should resolve the Yocto Project Compatible checker script concerns.
The first commit moves the inclusion of the layer .bb and .bbappend files to only be enabled when a distro contains 'overc'.  This will match on DISTRO = 'overc', as well as 'variant-overc'.
The second commit moves the distribution style configuration elements out of meta-cube/layer.conf and into a separate distribution configuration file.  It then uses the same approach as the previous commit to determine if the configuration should be applied or not.  The application is a bit round-about due to load order in bitbake.  See the commit message for more details.
The third commit simply makes a README file (link) available to satisfy the checking script.

Crisis averted.  If meta-gateway is included in the project it can mess up the BBFILES settings.  I will have a patch available (soon) for meta-gateway to avoid this.  So this patch set is correct, the bug is in the other layer.

merged


As a deployer I'd like to have all configuration values in one place

in the current state, values are duplicated on the different components.
so changing mwm for example, requires changing 2 lines, this can lead to mistakes.
It would be great to extract the variables to a config file (similar to https://github.com/iotaledger/compass/blob/master/docs/private_tangle/config.example.json)
or move them to the top of the yml file and have them declared once.

The most basic configuration options for the core of the one command tangle were added to a .env file and are used in docker-compose. There is no need any more to modify docker-compose.yml manually now, unless you wish to do something a bit more exotic.


Release/0.14.0

Using OTel Android as the base project.

@elasticmachine, run elasticsearch-ci/docs

@elasticmachine, run elasticsearch-ci/docs


Parse error when using BusServiceProvider

Laravel Version: 8.x
PHP Version: 7.2.19

Description:
I found an error when using Bus/Queueable trait.
ParseError: syntax error, unexpected ')' in Illuminate\Bus\BusServiceProvider.php at line 51.
Steps To Reproduce:
Remove the last comma when create new DatabaseBatchRepository.

Laravel 8 doesn't supports PHP 7.2. Please upgrade to PHP 7.3 where this is possible.

thanks @driesvints !


store: Guard inserts into the call cache with a check

This check mimics the check for inserts into call_meta and also aims to
reduce lock wait times for busy chains

Looks like there is a test that needs fixing.

I actually don't think this is needed anymore; closing it for now. If it should seem like it would be useful again, I'll revisit.


You can no longer do this via exchange admin center.

No longer able to change this via classic exchange admin center and if you follow the links to the security center when accessing the admin center as a partner it says f off..
Another example of you not caring about partners :'(
[Enter feedback here]

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

ID: 249c059f-c3ce-a382-b99e-795a0c1f646a
Version Independent ID: 5656c114-ae16-6194-cd9f-353b33f4a1e1
Content: How to use DKIM for email in your custom domain - Office 365
Content Source: microsoft-365/security/office-365-security/use-dkim-to-validate-outbound-email.md
Product: m365-security
Technology: mdo
GitHub Login: @MSFTTracyP
Microsoft Alias: tracyp

@webstaff Thank you for your feedback. This is the expected behavior unfortunately and fixing this needs to start from the RABC roles assigned to delegated administrators. I would recommend you contact Support for partners and provide feedback.
Hope this helps!
Thanks
Sri

@yogkumgit There are no changes required in this document.

@msbemba Thank you very much for the contribution and sharing this explanation. @webstaff Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


remove double blockquote

Please use this template to ensure easier processing of your pull request
Category

[x] Content fix
[ ] New article

Contents of the Pull Request
Fixed formatting of the markdown, replacing >> with > to remove a double blockquote.

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

File
Status
Preview URL
Details

Community/power-automate-vs-logic-apps.md
:bulb:Suggestion
View
Details

Community/power-automate-vs-logic-apps.md

Line 38, Column 28: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/power-platform/admin/wp-data-loss-prevention' will be broken in isolated environments. Replace with a relative link.
Line 38, Column 126: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/azure/logic-apps/block-connections-connectors' will be broken in isolated environments. Replace with a relative link.
Line 44, Column 39: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/azure/azure-functions/functions-compare-logic-apps-ms-flow-webjobs#compare-microsoft-power-automate-and-azure-logic-apps' will be broken in isolated environments. Replace with a relative link.
Line 67, Column 1: [Suggestion: duplicate-alt-text - See documentation] Alt text 'Mobile view of Power Automate' is duplicated. Within an article, alt text must be unique.
Line 69, Column 262: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/azure/logic-apps/export-from-microsoft-flow-logic-app-template' will be broken in isolated environments. Replace with a relative link.
Line 82, Column 1: [Suggestion: duplicate-alt-text - See documentation] Alt text 'Mobile view of Power Automate' is duplicated. Within an article, alt text must be unique.
Line 92, Column 83: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/azure/logic-apps/manage-logic-apps-with-visual-studio' will be broken in isolated environments. Replace with a relative link.
Line 120, Column 51: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/learn/browse/?terms=Automate&products=power-platform' will be broken in isolated environments. Replace with a relative link.
Line 124, Column 87: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/learn/browse/?products=azure&terms=Logic%20Apps' will be broken in isolated environments. Replace with a relative link.

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

Thanks, @richorama!


Requirement 6 - responsive webpage

WHEN I resize the page or view the site on various screens and devices
THEN I am presented with a responsive layout that adapts to my viewport

webpage is responsive to viewport size

webpage responds to max-width: cutoffs of 925px and 790px


[SP-5266] Backport of PDI-18028 - Kitchen export fails for Concat Fie…

…lds step (8.3 Suite)
Cherry-pick of #6893 into 8.3 branch.
@ssamora @ppatricio

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'plugins/core/impl' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/core/impl' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/core/impl/src/main/java/org/pentaho/di/trans/steps/concatfields/ConcatFieldsMeta.java
  plugins/core/impl/src/test/java/org/pentaho/di/trans/steps/concatfields/ConcatFieldsMetaTest.java
  plugins/core/impl/src/test/resources/org/pentaho/di/trans/steps/concatfields/pdi18028.ktr

License header violations

:heavy_exclamation_mark: Copyright year is not the current year on plugins/core/impl/src/test/java/org/pentaho/di/trans/steps/concatfields/ConcatFieldsMetaTest.java. Found 2018. Was expecting 2019


Update Polygon zkEVM

Ignored frequently updated values.
Resolves L2B-4046

why not ignored in watch mode?


The child config "authorization_server" under "league_oauth2_server" must be configured.

error after  install OAuth2 Server Bundle
composer require league/oauth2-server-bundle

follow instruction in oauth2.thephpleague Installation

The path "league_oauth2_server.authorization_server.private_key" cannot contain an empty value, but got null.
Hint: Full path to the private key file.
How to generate a private key: https://oauth2.thephpleague.com/installation/#generating-public-and-private-keys

The path "league_oauth2_server.scopes.available" should have at least 1 element(s) defined.

Only one persistence method can be configured at a time.


Signing up for newsletters doesn't work

On the Newsletters page at https://www.ssw.com.au/ssw/NETUG/SSWUpdatePrevious.aspx, pressing the "Join" button results in an error page:

Since this bug was reported on the old website, we won't fix it.
Escalated #282 to add the functionality to this site


removes policy action, adds bucketaccessinfo

as above, this PR removes the policyActionConfig map in the API, and it adds the new bucketAccesssInfo struct which is part of the COSI downwards API.

Does this needs to be coupled with corresponding changes to other COSI repos?

Yes, that's correct! There will be another PR shortly for the Spec, followed by later changes for the other components.


Fix keyboard covering up chat messages

This PR aims to solve this issue https://github.com/zulip/zulip-mobile/issues/180
Please let me know your suggestions.
Thanks

okay, on this right now. I'll also test on Android and report what I find. Thanks for the feedback

I just noticed that eslint is also complaining about what I said :)
Make sure to run jest npm run test:lint and flow locally, to verify that all tests work correctly, and to get early hints on something that might be wrong.

Update: It wasn't compatible with Android so after a few tweaks I have this working on Android. Not perfect because the MainNavBar disappears but still working on it

I've updated the PR. Please check @borisyankov. Thanks

I think this is a tricky task @Chiamaka so don't get discouraged that it will likely need lots of iterations.

It's okay @borisyankov. It's all part of the learning process :)

Hey, @Chiamaka are you still working on this?

Yeah sure!

Closed in favor of https://github.com/zulip/zulip-mobile/pull/1364


Python 3.9 support

TL;DR
Getting error when trying to install gcloud sdk using python 3.9.0
Expected behavior
Successfully installed gcloud sdk
Observed behavior
Traceback (most recent call last):
File "/opt/hostedtoolcache/gcloud/314.0.0/x64/lib/gcloud.py", line 104, in
main()
File "/opt/hostedtoolcache/gcloud/314.0.0/x64/lib/gcloud.py", line 62, in main
from googlecloudsdk.core.util import encoding
File "/opt/hostedtoolcache/gcloud/314.0.0/x64/lib/googlecloudsdk/init.py", line 23, in
from googlecloudsdk.core.util import importing
File "/opt/hostedtoolcache/gcloud/314.0.0/x64/lib/googlecloudsdk/core/util/importing.py", line 23, in
import imp
File "/opt/hostedtoolcache/Python/3.9.0/x64/lib/python3.9/imp.py", line 23, in
from importlib import util
File "/opt/hostedtoolcache/Python/3.9.0/x64/lib/python3.9/importlib/util.py", line 2, in
from . import abc
File "/opt/hostedtoolcache/Python/3.9.0/x64/lib/python3.9/importlib/abc.py", line 17, in
from typing import Protocol, runtime_checkable
File "/opt/hostedtoolcache/Python/3.9.0/x64/lib/python3.9/typing.py", line 26, in
import re as stdlib_re  # Avoid confusion with the re we export.
File "/opt/hostedtoolcache/Python/3.9.0/x64/lib/python3.9/re.py", line 124, in
import enum
File "/opt/hostedtoolcache/gcloud/314.0.0/x64/lib/third_party/enum/init.py", line 26, in
spec = importlib.util.find_spec('enum')
AttributeError: module 'importlib' has no attribute 'util'
Error: The process '/opt/hostedtoolcache/gcloud/314.0.0/x64/bin/gcloud' failed with exit code 1
Reproduction
Action YAML
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
    steps:
      - name: Git checkout
        uses: actions/checkout@v2

      - name: Set up Python 3.9
        uses: actions/setup-python@v2
        with:
          python-version: 3.9

      - name: Setup gcloud environment
        uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
        with:
          project_id: <project_id>
          service_account_key: <sa_key>

@anisf thanks for the report. This seems like a known gcloud incompatibility. Tracking here: https://issuetracker.google.com/issues/169249645

Closing as the issue has been fixed upstream in 319.0.0+: https://b.corp.google.com/issues/170125513


Easier access to rules editor

Is your feature request related to a problem? Please describe.
In order to edit a rule, I have to click on a button in the corner of the Browsers pop-up, then choose Preferences from the menu — which means I must first find a link that isn't covered by a rule in order to cause the popup to appear.
Describe the solution you'd like
I'd like Browsers to have an icon in the system tray on KDE so I can right-click on it and access the preferences directly from there.
Describe alternatives you've considered
I've tried launching Browsers manually, but no window opens — the icon appears in the task bar briefly, then vanishes. Having this bring the preferences window up would be an acceptable alternative (and possibly easier to implement in a cross-platform way :)
At the moment I have a link to https://example.com that I've sent to myself in Slack; that allows me to go to my notes and click the link (as long as I never set a rule for example.com, of course!) But this only works particularly well if I don't have a load of notes to myself in Slack, as otherwise I have to find it first.
Additional context
I'm not sure how it works on other OSes — on macOS, it would need to run as a menu bar app if it doesn't already.

Hey there! Thanks for feedback!
On macOS, just launching Browsers on its own will ignore all rules, allowing to access Preferences.
You mention KDE - which Linux distro are you using?
One of my goals is to keep the app not running in the background, so unfortunately the system tray is not going to have it.

I'm using Kubuntu 24.04. Launching Browsers on its own also works as on macOS here, so I'm not sure why it didn't when I tried it beforehand. Possibly some window rule had kept something on top of it — but it works in a way that allows me to get at the rules easily, so I'll close this. Thanks for your time!


feat: support CPU and memory limit for docker runner

cc @Zheaoli

Comments addressed. PTAL.

Thanks for your review 🥰


#185 add float types to solvers and classes in the call chain - inclu…

#185  inclusive of solver unit tests

This is a working proof of concept - what is to be attempted to incorporate this to avoid needing to pass "dtype" every where and make it transparent - and to see how to go about that

This has been updated to be as transparent from the users side as possible - in that templates are chosen from ndarray dtypes

rebased to master

RIP (review in progress !)

Closing to recreate PR


Aborted when loading a specific png in ARM64 environments

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running npm install sharp completes without error.
[x] Running node -e "require('sharp')" completes without error.

Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
  System:
    OS: Linux 5.13 Ubuntu 20.04.4 LTS (Focal Fossa)
    CPU: (4) arm64 Neoverse-N1
    Memory: 20.15 GB / 23.31 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 18.1.0 - /usr/bin/node
    npm: 8.8.0 - /usr/bin/npm
  npmPackages:
    sharp: ^0.30.4 => 0.30.4

(Oracle Cloud Infrastructure A1 instance)
What are the steps to reproduce?
Download PixelFed's favicon.png: https://pixelfed.tokyo/img/favicon.png?v=2

Load...
await sharp('favicon.png').toBuffer();

It throws error.
This error kills our software.
malloc(): corrupted top size
Aborted (core dumped)

What is the expected behaviour?
No error and no killing

Information:
It happens with sharp 0.30.0 or later.
Using libjemalloc2 resolves this bug but I hope it will work without any manipulation on our part.
https://misskey.xianon.net/notes/8zrrs9qm9c

Thanks for reporting this, I'll try to reproduce on some ARM64 hardware when I can.
Please can you test the following code with the same image to help narrow down if this might be a decode or encode problem.
await sharp('favicon.png').raw().toBuffer(); // decode only, no PNG encoding

sharp v0.29.x provides libspng v0.6.3 whereas sharp v.30.x provides libspng v0.7.1.
The sample input is palette-based, and when decoded on ARM64 will use libspng v0.7.1's NEON optimised path, which leads me to suspect this might relate to https://github.com/randy408/libspng/issues/189

Thanks for your reply.
It aborts as well in decode only.

I think expand_palette_rgba8_neon also suffered from the same bug

This is confirmed to be the case. When the quickfix was released the root cause was not yet known, the image from the initial bug report did not trigger the same problem in the other function. It does with this new image.
The last release in February fixed both functions and also another issue that affected all platforms, so there was good reason to upgrade, even if it was assumed the quickfix introduced by v0.7.1 was complete.

Thanks all for confirming, the future v0.31.0 release of sharp will provide prebuilt binaries with a more recent version of libspng with the fix.

In the meantime, pinning to "sharp": "0.30.1" in resolutions avoids the crash for me.

Same problem here on M1 Mac, fixing version to 0.29.3 helped. In my case it influences NextJS and the upload-plugin of Strapi.

Fixing version to 0.29.3 helps on aarch64 fedora

All versions above 0.28.3 crash on Windows 11, Intel i7-11800H with this error. Try/catch doesn't work; the error takes the node process down (not sure how?).

@oebilgen This issue relates only to ARM64. If you're seeing it on Intel hardware, please open a new issue and provide as much information as possible, including sample code with appropriate error handling, sample images, and ideally a backtrace of the crash.

v0.31.0 now available with prebuilt binaries that contain the upstream fix, thanks all for reporting/helping with this.


regarding installation steps

Sir, please tell me how to install it as I am following the steps I am having difficulty can you share the installation step videos
thank you

how to install please provide video

@Mjrocks3099 @Nano327 I think the steps provided in the README.md might be sufficient


Text sometimes cut at message's end

Summary
Text messages can be cut and thus not displayed entirely.
Environment Information

Device Name: Galaxy A3 (2016)
OS Version: Android 7.0
Mattermost App Version: 1.5.2 (Build77)
Mattermost Server Version: 4.6.0

Steps to reproduce
Write some messages.
Expected behavior
All text should be visible.
Observed behavior
The text can sometimes be cut, whether it's my own messages or someone else's :
Example 1 with small text trimming (only the bottom of the letters)

Example 2 with a complete line disappearing

When I open the thread of the faulty message, there's also some trimming but much less :

Hi, thank you for your work, alas the issue is still present using the 1.6.1 version.
On my phone, I can always reproduce it by typing "yay :P" and the bottom of the text is cut, as well as the very top of the emoji:


OpenSslEngine remove unecessary rejectRemoteInitiatedRenegation call

Motivation:
OpenSslEngine calls rejectRemoteInitiatedRenegation in a scenario where the number of handshakes has not been observed to change. The number of handshakes has only been observed to change after readPlaintextData is called.
Modifications:

Remove the call to rejectRemoteInitiatedRenegation before calls to readPlaintextData

Result:
Less code.

@normanmaurer - PTAL

LGTM

Cherry-picked 4.1 (f7cf00c) 4.0 (b3160bd)


Multi Factor Authentication and integrated Connection

Hello,
Parameter Credential cannot be used when trying to connect with MFA.
I propose to change as follows:
#Connection to Skype for Business Online and import into Ps session
$session = New-CsOnlineSession
Import-PsSession $session

#This will also connect to Microsoft Teams

Reference: Tested with Module MicrosoftTeams v1.1.10-preview
I am trying to get the Username Parameter to be re-added to the Command or be able to pass the Username on like Connect-AzureAd -AccountId $UserPrincipalName does.
https://github.com/MicrosoftDocs/office-docs-powershell/issues/6997
Thanks,
David
PS: I am working to integrate this in my Command Connect-SkypeOnline (and Connect-Me) that establishes multiple connections in one go (with only one Authentication prompt :))

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

ID: cd283f6e-3865-ed70-d663-cc461ee8ba57
Version Independent ID: 2450d311-fc04-d8b6-b4a2-b1890ec6fc3e
Content: Install Microsoft Teams PowerShell - Microsoft Teams
Content Source: Teams/teams-powershell-install.md
Service: msteams
GitHub Login: @brandber
Microsoft Alias: brandber

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

This is a documentation issue, not a service issue.
I think the best way forward is to harmonize all documentation so that they are in sync.
Other articles are already being updated, changes being made.
https://github.com/MicrosoftDocs/microsoft-365-docs/issues/3759
https://github.com/MicrosoftDocs/office-docs-powershell/pull/7005


Team 2 New Language Test Files

@ Marwan AbdElhameed
@ Ricky Zhang

Nice job with making small, incremental changes! For future commits, consider adopting the <type>: <summary> format (e.g., feat: add new language or fix: substitute only first input file). This structure improves readability. Also, aim to make commit messages clearer in describing what changes were made and why, which helps the team track updates more effectively

Correctness:

Confirming that bar.o, foo.o and baz.o can be compiled as expected.
Verify that phony "clean" functions as intended, effectively removing the generated .o files.

Readability:

The code is well-organized and naming conventions are consistently followed.
Clear messages are logged to the console to indicate building targets and stages.

Testing:

Unit testing could be beneficial for core methods like resolveVariable, defineRule, etc.

The overall functionality looks good, and thank you for breaking changes into tiny chunks with distinct purpose. I would like to make some additional comments based on Jasmine and Shihui's thorough review. Again, thank you for your solid work!

Is it really necessary to add foo, bar, and baz to this project? Are they for testing purpose? However, I did not see any testing in those files related to the new language you designed such as build and phony. If they are not related to the whole project, maybe it would be better to either remove them or put them into an archive/legacy folder.
Would you further consider separating 'pool' from other rules, or leave it as is?
Would you consider providing some example usage of your newly defined language?

Newest PR: PR23]


:seedling: Unit tests for extract cert info

Created unit tests for extractCertInfo
Updated the error to be a standard error so that it is easier to test.
The extractCertInfo - 100% code coverage.
Signed-off-by: naveensrinivasan<EMAIL_ADDRESS>

@azeemshaikh38  Do you know why this is failing? https://github.com/ossf/scorecard-webapp/runs/7695059399?check_suite_focus=true

@azeemshaikh38 Do you know why this is failing? https://github.com/ossf/scorecard-webapp/runs/7695059399?check_suite_focus=true

So the license checker in our CI thinks that there should be 1 less space before "http://www.apache.org" in app/post_results_test.go file. If you remove that space I think this should work.
Thanks for adding all these tests!

@azeemshaikh38 Do you know why this is failing? https://github.com/ossf/scorecard-webapp/runs/7695059399?check_suite_focus=true

So the license checker in our CI thinks that there should be 1 less space before "http://www.apache.org" in app/post_results_test.go file. If you remove that space I think this should work.
Thanks for adding all these tests!

I did that and still it is failing https://github.com/ossf/scorecard-webapp/runs/7780408073?check_suite_focus=true sigh

@azeemshaikh38 Thank you! for fixing the header issue


Added Alias Expression

Hello,
I added an alias expression as it will prove to be very useful in NeoEloquent.
Hoping this is up to standard,
Kind regards,
Ghlen

Closed as it will be put in a bigger PR


Commit distance is not calculated correctly (does not match git describe) when spanning merge commits

Given the following tree
*   4a30b81 (feature/foo) Merge branch 'master' into feature/foo    # expected distance: 5
|\
| *   1e79026 (master) Merge branch 'feature/bar'    # distance: 2
| |\
| | * 56f09f5 (feature/bar) Add some more bar feature stuff
| | * fdb2e34 (tag: 0.6.2) Add some bar feature stuff
* | | c62c0ec Add some foo feature stuff
* | | 5a3f533 Merge branch 'master' into feature/foo
|\ \ \
| |/ /
| | /
| * cf1bc69 Make some changes on master
| |
| |
...

The versionName generated while on feature/bar (1 commit ahead of tag 0.6.2) is good and correct as it shows a commit distance of 1 (0.6.2-1-56f09f5) just as git describe does, and the same is true for versionName while on master (2 commits ahead of tag 0.6.2), yielding 0.6.2-2-1e79026.
But, the versionName generated while on feature/foo does not match the output of git describe. The commit distance appears to only increment by 1 for the merge commit, whereas git describe increments by 1 plus the number of commits being merged in.
$ git checkout feature/foo
$ ./gradlew androidgitversion
0.6.2-3-4a30b81

The expected output (to get the versionName to match the commit-ish generated by git describe) while on feature/foo would be 0.6.2-5-4a30b81, but the versionName being generated is 0.6.2-3-4a30b81. It appears to be incrementing by 1 (from the merge commit), but fails to count the commits c62c0ec and 5a3f533.
$ git describe feature/foo
0.6.2-5-g4a30b81

Thank you.

This is currently working as designed, with a merge commit counting as 1 commit no matter how many commits the merge encapsulates. The goal isn't really to match git-describe either - if you need to look up the commit
Is there some reason it is better to have inflated distance counts? Is it just to make git show work? (By default there are lots of cases where the output of androidGitVersonName will not match.)

Sure. I see lots of power/usefulness in being able to ask a user/tester/fellow developer which version of the app they are using and not have to do any extra step to map that to a commit. I see that as why 'git describe' is designed the way it is, and seems natural to me to keep that design/usefulness.
What are the other cases where it won't match?

That's a fair use case. I wasn't originally attempting to match git describe but I can see how it would make things easier.
Differences I can see from git-describe docs and current android-git-version behavior:

Missing "g" (as you reported in #66, thank you).
Different commit count (reported here).
A difference in how the nearest tag is found: git-describe prefers annotated tags over lightweight tags, tags with more recent dates over tags with earlier dates, and lastly tags with fewer commits over tags with more commits as calculated in point 2.

Unfortunately jgit doesn't give an easy way to make this calculation although it does provide a DescribeCommand. This plugin would have to call that, and try to parse out the rev-count from the result. Then it would match.

One point of incompatibility with the current layout is that android-git-version allows you to specify a subtree and only count revs for commits within that subtree. For example if you have a lib directory that hasn't experienced any additional commits that change files in that subtree you get the same tag.
Also note that jgit itself has had several incompatibilities with git-describe over time. So even if we did use DescribeCommand I can't be 100% sure to have the exact same behavior as git itself in all cases.
So it may be safer to just point people to the commit hash if they want to ensure they have a build of the same commit.

It may make for a nice feature to allow it to be configured to use git describe. I wish I understood the current codebase batter to be able to make a PR, it for the repo if you don't think it will make the cut.
Let me know what direction you might take things, and I'd be happy to try some changes if you could point me in the right direction for doing so.

I don't object to making git-describe-like the behavior the default, but I would want to keep the ability to use format to customize it. I think to implement this one would just re-implement jgit's DescribeCommand behavior, except in Groovy for the plugin, and with sensitivity to only-in.
Of course if you really want git-describe behavior exactly, it's easy to do name = git.describe(tags: true) without using the plug-in at all.

Not use the plugin? And throw the baby out with the bathwater? No way. The plugin is great, with all its features and flexibility.
So, are these changes something you anticipate working on soon? Or perhaps I can help by getting things started and making a pull request?

I would welcome a pull on this!

@gladed would you be able to point me in the right direction in how to make and test changes? Is there any sort of shortcut where I can just modify code that's running when I make my Android projects, or will I need to set up this project and learn how to package it for use by my Android projects, etc.? Thanks for any pointers you can provide while I start googling to understand all this stuff better.

Really the best way is unit test. Each unit test starts with an empty repo to which you can commit changes, apply tags, branch, merge etc.
After that you can publish to a local repo and try from a sample project if you like.

@gladed let me know what you think about PR #68 just as an initial/general direction.


Docs -- "kubectl get" references "template" that should not work but do

https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/kubectl/kubectl_get.md
http://kubernetes.io/docs/user-guide/kubectl/kubectl_get/
"By specifying the output as ‘template’ and providing a Go template as the value of the –template flag, you can filter the attributes of the fetched resource(s)."
And
Examples
# Return only the phase value of the specified pod.
kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}}

According to the spec:
kubectl get [(-o|--output=)json|yaml|wide|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]

The example should not work but 'template' appears to be a synonym for go-template

Should "-template" be replaced with "-go-template" consistently throughtout the doc? I see it used interchangeably in several places.


Excluding beanutils library from commons validator

Excluding beanutils library from commons validator because of security vulnerability in version 1.9.2 of beanutils
Addresses this: https://github.com/Azure/azure-sdk-for-java/issues/6433

/azp run java - cosmos - tests


Add snippets all

Yeah most of the changes related to the wrapper and it is already reviewed

Yeah most of the changes related to the wrapper and it is already reviewed

is there a way we can not have the wrapper as a part of the repository?
also is there a better way for us to split this pull request into two: one where the wrapper code is changed, and another that has the rest of the actual sublime plugin source changes?


Support for DIO HTTP library

dio is a popular HTTP library and I would like to request support for it, similar to the already existing support for the SentryHttpClient.
They have support for so-called interceptors, which should make it straight forward and also pretty similar to the SentryHttpClient.

I use DIO as well, can share what I am currently using.
/// A [Dio] interceptor that adds [Breadcrumb]s and
/// transaction spans to existing transactions for
/// performance monitoring.
class HttpBreadcrumbInterceptor extends Interceptor {
  final _request = HttpRequestBreadcrumbInterceptor();
  final _success = HttpSuccessBreadcrumbInterceptor();
  final _error = HttpErrorBreadcrumbInterceptor();

  @override
  Future<void> onRequest(
    RequestOptions options,
    RequestInterceptorHandler handler,
  ) {
    final currentSpan = Sentry.getSpan();
    final span = currentSpan?.startChild(
      'http.client',
      description: '${options.method} ${options.uri}',
    );

    if (span != null) {
      final traceHeader = span.toSentryTrace();
      options.headers[traceHeader.name] = traceHeader.value;
      options.extra['sentry-span'] = span;
    }
    return _request.onRequest(options, handler);
  }

  @override
  Future<void> onResponse(
    Response<dynamic> response,
    ResponseInterceptorHandler handler,
  ) async {
    final span = response.requestOptions.extra['sentry-span'] as ISentrySpan?;
    span?.status = SpanStatus.fromHttpStatusCode(response.statusCode!);
    await _success.onResponse(response, handler);
    await span?.finish();
  }

  @override
  Future<void> onError(
    DioError err,
    ErrorInterceptorHandler handler,
  ) async {
    final span = err.requestOptions.extra['sentry-span'] as ISentrySpan?;
    await _error.onError(err, handler);
    span?.throwable = err;
    span?.status = const SpanStatus.internalError();
    await span?.finish();
  }
}

class HttpRequestBreadcrumbInterceptor extends Interceptor {
  @override
  Future<void> onRequest(
    RequestOptions options,
    RequestInterceptorHandler handler,
  ) async {
    Sentry.addBreadcrumb(
      HttpBreadcrumb.onRequest(
        HttpBreadcrumbData(
          url: options.uri.toString(),
          method: options.method,
        ),
      ),
    );
    handler.next(options);
  }
}

class HttpSuccessBreadcrumbInterceptor extends Interceptor {
  @override
  Future<void> onResponse(
    Response<dynamic> response,
    ResponseInterceptorHandler handler,
  ) async {
    Sentry.addBreadcrumb(
      HttpBreadcrumb.onResponse(
        HttpBreadcrumbData(
          url: response.requestOptions.uri.toString(),
          statusCode: response.statusCode,
          method: response.requestOptions.method,
          reason: response.statusMessage,
        ),
      ),
    );
    handler.next(response);
  }
}

class HttpErrorBreadcrumbInterceptor extends Interceptor {
  @override
  Future<void> onError(
    DioError error,
    ErrorInterceptorHandler handler,
  ) async {
    await addHttpErrorBreadcrumb(error);
    handler.next(error);
  }

  static Future<void> addHttpErrorBreadcrumb(DioError error) async {
    String? body;
    if (error.response?.data != null) {
      try {
        body = jsonEncode(error.response!.data);
      } catch (_) {
        // Ignore and call toString()
        body = 'JSON encoding failed: ${error.response!.data.toString()}';
      }
    }
    Sentry.addBreadcrumb(
      HttpBreadcrumb.onResponse(
        HttpBreadcrumbData(
          url: error.requestOptions.uri.toString(),
          statusCode: error.response?.statusCode,
          method: error.requestOptions.method,
          reason: error.response?.statusMessage,
          data: {
            'type': error.type.toString(),
            'err': error.message,
            if (body != null) 'body': body,
          },
        ),
      ),
    );
  }
}

@kuhnroyal Do you mind also sharing the source for HttpBreadcrumb?

Added it above, it is very basic and the breadcrumbs are from the old Sentry client way back.
But could probably use the same breadcrumb implementation that is in the HttpClient adapter.
The span handling I just copied from there recently, could probably be a separate interceptor.

Awesome, thanks!

thanks @kuhnroyal

After looking into it some more, I believe we can use dios HttpClientAdapter and even mostly copy the existing SentryHttpClient code, because it's basically the same.
Beware, the code below isn't yet tested, but I believe it should work.
var dio = Dio();
  dio.httpClientAdapter = SentryHttpClient(recordBreadcrumbs: true, networkTracing: true);

import 'dart:typed_data';

import 'package:dio/adapter.dart';
import 'package:dio/dio.dart';
import 'package:sentry/sentry.dart';

class BreadcrumbClient extends HttpClientAdapter {
  BreadcrumbClient({HttpClientAdapter? client, Hub? hub})
      : _hub = hub ?? HubAdapter(),
        _client = client ?? DefaultHttpClientAdapter();

  final HttpClientAdapter _client;
  final Hub _hub;

  @override
  Future<ResponseBody> fetch(
    RequestOptions options,
    Stream<Uint8List>? requestStream,
    Future? cancelFuture,
  ) async {
    // See https://develop.sentry.dev/sdk/event-payloads/breadcrumbs/

    var requestHadException = false;
    int? statusCode;
    String? reason;
    int? responseBodySize;

    final stopwatch = Stopwatch();
    stopwatch.start();

    try {
      final response =
          await _client.fetch(options, requestStream, cancelFuture);

      statusCode = response.statusCode;
      reason = response.statusMessage;

      return response;
    } catch (_) {
      requestHadException = true;
      rethrow;
    } finally {
      stopwatch.stop();

      final breadcrumb = Breadcrumb.http(
        level: requestHadException ? SentryLevel.error : SentryLevel.info,
        url: options.uri,
        method: options.method,
        statusCode: statusCode,
        reason: reason,
        requestDuration: stopwatch.elapsed,
        responseBodySize: responseBodySize,
      );

      _hub.addBreadcrumb(breadcrumb);
    }
  }

  @override
  void close({bool force = false}) => _client.close(force: force);
}

import 'dart:typed_data';

import 'package:dio/adapter.dart';
import 'package:dio/dio.dart';
import 'package:sentry_flutter/sentry_flutter.dart';

/// A [http](https://pub.dev/packages/http)-package compatible HTTP client
/// which adds support to Sentry Performance feature.
/// https://develop.sentry.dev/sdk/performance
class TracingClient extends HttpClientAdapter {
  TracingClient({HttpClientAdapter? client, Hub? hub})
      : _hub = hub ?? HubAdapter(),
        _client = client ?? DefaultHttpClientAdapter();

  final HttpClientAdapter _client;
  final Hub _hub;

  @override
  Future<ResponseBody> fetch(
    RequestOptions options,
    Stream<Uint8List>? requestStream,
    Future? cancelFuture,
  ) async {
    // see https://develop.sentry.dev/sdk/performance/#header-sentry-trace
    final currentSpan = _hub.getSpan();
    final span = currentSpan?.startChild(
      'http.client',
      description: '${options.method} ${options.uri}',
    );

    ResponseBody? response;
    try {
      if (span != null) {
        final traceHeader = span.toSentryTrace();
        options.headers[traceHeader.name] = traceHeader.value;
      }

      // TODO: tracingOrigins support

      response = await _client.fetch(options, requestStream, cancelFuture);
      span?.status = SpanStatus.fromHttpStatusCode(response.statusCode ?? -1);
    } catch (exception) {
      span?.throwable = exception;
      span?.status = const SpanStatus.internalError();

      rethrow;
    } finally {
      await span?.finish();
    }
    return response;
  }

  @override
  void close({bool force = false}) => _client.close(force: force);
}

class SentryHttpClient extends HttpClientAdapter {
  SentryHttpClient({
    HttpClientAdapter? client,
    Hub? hub,
    bool recordBreadcrumbs = true,
    bool networkTracing = false,
  }) {
    _hub = hub ?? HubAdapter();

    var innerClient = client ?? DefaultHttpClientAdapter();

    if (networkTracing) {
      innerClient = TracingClient(client: innerClient, hub: _hub);
    }

    // The ordering here matters.
    // We don't want to include the breadcrumbs for the current request
    // when capturing it as a failed request.
    // However it still should be added for following events.
    if (recordBreadcrumbs) {
      innerClient = BreadcrumbClient(client: innerClient, hub: _hub);
    }

    _client = innerClient;
  }

  late HttpClientAdapter _client;
  late Hub _hub;

  @override
  Future<ResponseBody> fetch(
    RequestOptions options,
    Stream<Uint8List>? requestStream,
    Future? cancelFuture,
  ) =>
      _client.fetch(options, requestStream, cancelFuture);

  @override
  void close({bool force = false}) => _client.close(force: force);
}

That works but Dio generally promotes the use of interceptors.

Yeah, I agree. However, this approach reduces the amount of maintenance, because it's so similar to the already existing SentryHttpClient. Using the adapter instead of an interceptor is probably also easier to use, because the user doesn't need to pay attention to the order of interceptors. The adapter is already most likely the inner most thing. This is especially important because there are things like the CacheInterceptor, which could bypass reads from the network, in which case I wouldn't want to create a span.

@kuhnroyal are you one of the new maintainers of dio? Anyway, I've put up #688 for review, maybe you want to take a look at it too.

Yea, I'll check it out tomorrow.

Looks fine. Integrated it and will test tomorrow.
Aside from dio, I noticed today that there is no Sentry client for the pure Dart HttpClient from the SDK, not the one from the http package.

I noticed today that there is no Sentry client for the pure Dart HttpClient from the SDK, not the one from the http package.

Related: https://github.com/getsentry/sentry-dart/issues/539


Fix return type of GetAllocationNextPtr

Returning void* const doesn't mean anything (and produces a warning with -Wignored-qualifiers). Based on usage, it looks like the returned pointer is expected to point at const data, so I've fixed the declaration to reflect that.

You are right. Thank you for this contribution.


File Compression and Decompression Code for Brotli and ZStd in JAVA

Hello,
I was looking for File compression and File Decompression code in Java using BROTLI and ZStandard.
But all i found was a sample code using Byte[] and compressing a single string as byte buffer.
If Possible try a File Compression and File Decompression in Brotli and ZStd using Java.
Here File means any type of file without any specification.

Hi, there is not high-level utility function to just compress/decompress file but it implements the more general Input/Output Stream interfaces. Take a look here for an example of decompression:
https://github.com/luben/zstd-jni/blob/master/src/test/scala/Zstd.scala#L339-L358

Hello luben,nice to hear from you.Actually im looking for best compression algorithm that can be used to compress and decompress a file and found Brotli is the best compression around.But i couldnt find a complete implementation of my requirement. Im currently developing a java file compression code using Brotli . is it possible with Java.?

I don't know about brotli, have not worked with it. The example in the previous message was how to do it with Zstd

yes luben.i was also looking for ZStd . thnx fr share...leeme try with it

Do you know any other Powerful fully implemeted Algorithm that compresses file with high compression ratio other than 7zip ( already worked..but my req is more than 7Zip compression ratio )?
Thanks & regards

LZMA implementations usually achieve high compression ration at the expense of speed.


Show year as well in date column

Details
Show year as well in date column.
Fixed Issues
$ https://github.com/Expensify/App/issues/43209
PROPOSAL: https://github.com/Expensify/App/issues/43209#issuecomment-2153286025
Tests

Ensure that you have some expenses from past years.
Go to the search page.
Check the width of date column.
Check that the year shows only for past year expenses.
Now, test without past year expenses - column width shouldn't be extended.

QA Steps

Ensure that you have some expenses from past years.
Go to the search page.
Check the width of date column.
Check that the year shows only for past year expenses.
Now, test without past year expenses - column width shouldn't be extended.

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Is there a clean way to do this where we only increase the date column width if we know we have dates from a prior year? cc @luacmartins

Yea, that should be possible by comparing all dates we have and if any is from a previous year, we'd increase the column width. That being said, pagination could make the layout shift if a new expense from a previous year is returned

We don't need to show the year if all expenses shown are from the current year. And if we don't show the year, then I like the idea of using the smaller column width to save space. Let me know if that makes sense!

We would have an increased column width, but the expenses from 2024 would not have the year in the column. This is how it works on OldDot, so I think we'd want to keep it the same for now.

Lets use this thread to agree on the plan ahead. @ShridharGoel let us know if you have some issues with the proposed logic

Let me know when we have some updated screenshots to review!

@dukenv0307 @ShridharGoel if anything is unclear please use the slack thread to discuss. Lets try to get this one merged today

We also have conflicts now

@ShridharGoel we have lint and ts errors now

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.84-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.84-3 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


change Email to Mail

REDMINE-18047

Coverage remained the same at 99.193% when pulling 226799b6228f138b743534a4a2bd8ec4d39b8556 on awaismbajwa:change-sharing-provider-name into ba8553b3dc0e3d10eaf232ad18450123af077624 on codevise:master.


Patches in InitContainers cannot be applied on restart

Describe the bug

Some patches modify files in an EmptyDir which persists across pod restarts.
Changes applied by the patches cannot be applied more than once (non zero exit-code)

Therefore, pods can not recover from a crash.
Also, the "real" error message is shadowed by error logs from patch.
To Reproduce
Run cf-operator with features.eirini=true and (to avoid some other issues), use eirini version 0.17.0.
We suspect that the bug can also be reproduced in many other ways. To be exact every time a initContainer or container crashes after a patch has been applied (to a file inside an emtpyDir).
Expected behavior
Patches should not fail.
We should see the "real" error.
Logs
Hmm... Looks like a normal diff to me...
Patching file /var/vcap/all-releases/jobs-src/eirini/eirini-loggregator-bridge/templates/bpm.yml.erb using Plan A...
Hunk SUSE/scf#1 FAILED at 8.
1 out of 1 hunk FAILED -- saving rejects to file /var/vcap/all-releases/jobs-src/eirini/eirini-loggregator-bridge/templates/bpm.yml.erb.rej
done

Environment

v3-develop
Eirini

Fixed by https://github.com/SUSE/kubecf/pull/56.


Hacked

My sollet wallet was hacked, 10 solana transferred without authority to a secondary unknown wallet address. Staked solana was unstaked and sent to the same address. This happened in August.

I'm sorry to hear that. There could be a number of reasons why that happened. Please join the Discord to discuss any details. Closing as there's no reason as of now to believe this is a development related issue. https://discord.gg/UKtY7vGz


fix th e cmd 'mount' of nydusify

Relevant Issue (if applicable)
this is the solution of issue https://github.com/dragonflyoss/image-service/issues/1306.(#1306)
Details
we fix the bug, the nydusify mount subcommand will not need the --backend-type  and  --backend-config options when  the blobs of target image are all stored in the registry,

[x] sds

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)

Checklist

[x] I have added tests to cover my changes.

i will fix it later


Sandbox  execution

We need a common helper to sandbox all the executions we are doing. Right now, an LLM could generate a remove-all-your-files call, and we just execute it.

Closing in favor of #198


Create test datasets

Create test datasets so you can make sure validations are working.

And add a (temporary) checkbox to use example data instead of the API


Processing report is showing: 'Report is being rendered'

In a report with the following properties:
ProcessingOnly = true;
ShowPrintStatus = false;
there is still a window shown saying:
Working on it...
The report is being rendered. This can take a while, depending on the number of rows that have been generated.

unless an own dialog is programmed, like:
Window.Open('test #1#############');
Window.Update(1, i);
Window.Close;

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

ID: c42798cd-f73f-25cf-9424-91f88894d19b
Version Independent ID: f0ba44e4-9d57-c985-7e1f-516b3d593e8d
Content: ShowPrintStatus Property - Business Central
Content Source: dev-itpro/developer/properties/devenv-showprintstatus-property.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for your feedback. This repo is meant for documentation issues only. This looks like a product bug. Please use your usual support channel to file a bug. Thanks.


Sonic the Masked Werehog: Watch dectaphinrx

Sonic the Masked Werehog requests the watch of the watch_keyword dectaphinrx. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

dectaphinrx has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by rene in Tavern on the Meta


python311Packages.highdicom: init at 0.22.0

python311Packages.pillow-jpls: init at unstable-2023-12-30
Description of changes
Init highdicom, a package for handling DICOM abstractions in Python.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Bumped pillow-jpls from unstable-... to a new release version.

Since this PR landed, I'm getting this error:

error: evaluation aborted with the following error message: 'lib.customisation.callPackageWith: Function called without required argument "setuptools_scm" at /home/intj/.cache/nixpkgs-review/pr-287792-3/nixpkgs/pkgs/development/python-modules/pillow-jpls/default.nix:20, did you mean "setuptools-scm"?'


RefreshingAWSCredentials does not refresh credentials for Unity

public abstract class RefreshingAWSCredentials : AWSCredentials

does not refresh credentials automatically. It consistently gives error for multiple devices over different regions:
AmazonClientException: The retrieved credentials have already expired: Now = 06/23/2016 22:20:36, Credentials expiration = 06/23/2016 22:16:01
AmazonClientException: The retrieved credentials have already expired: Now = 06/23/2016 16:54:28, Credentials expiration = 06/23/2016 15:55:41
AmazonClientException: The retrieved credentials have already expired: Now = 06/23/2016 21:51:26, Credentials expiration = 06/23/2016 20:50:09
I believe that RefreshingAWSCredentials code is not waiting for new credentials to loaded for Unity and assuming it is synchronous.
Moreover AWSCredentials.cs does not expose _currentState or either CurrentState.ExpirationTime for developer to implement their own auto-refreshing. We are stuck with current issue without any help. I've seen several threads for the same without any solution
https://forums.aws.amazon.com/thread.jspa?threadID=233919
https://forums.aws.amazon.com/thread.jspa?threadID=234211
At the minimum, if you can make currentState public, that will allow us to auto-refresh the credentials ourselves by calling GetCredentialsAsync

This bug is still reproducible and I see that Andreyul's PR is not merged. Do we have any workaround for this?

@karthiksaligrama , any update on this issue? Can you please make currentState public so that developer can refresh the credentials as needed.

Any update? is several months that this bug is open...

PR #427 replaced all the DateTime.Now and DateTime.UtcNow uses in the SDK with a "corrected" DateTime value, so this issue should not be occurring with the latest version of the SDK.
Resolving.


Webapp:az webapp config connection-string set   - FAILURE

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp config connection-string set
Errors:
The command failed with an unexpected error. Here is the traceback:
string index out of range
Traceback (most recent call last):
  File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 657, in execute
    raise ex
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 720, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 691, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/appservice/custom.py", line 1300, in update_connection_strings
    if value[0] in ["'", '"']:  # strip away the quots used as separators
IndexError: string index out of range

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp config connection-string set --name {} --resource-group {} -t {} --settings {}

Expected Behavior
Environment Summary
Linux-5.4.0-1062-azure-x86_64-with-debian-10.2 (Cloud Shell), Common Base Linux Delridge (quinault)
Python 3.6.10
Installer: DEB

azure-cli 2.29.0 *

Extensions:
application-insights 0.1.14
ai-examples 0.2.5
ssh 0.1.6

Additional Context

route to service team

Unable to repro the issue. Please use latest Az version 2.29.1 and retry.

closing due to lack of response. Please file a new issue if this is still a problem.


API: allow an extension to get all keys it stored

We (python extension) have accidentally stored large contents in the global memento store.
This causes perf issues, as we have stored contents of user's files. If a user were to open a large notebook, we store the contents of the entire notebook in the global storage (as part of our custom persisting of unsaved notebook changes).
We'd like to clear these items (to resolve perf issues), however the keys are dynamically generated based on the file paths of files opened in the editor. Even though all of these dynamically generated keys are prefixed with a specific string, we are unable to clear them.
Please can we get a list of all of the keys? so we could clear them
Open to alternatives

You can ask a user to run this action:

It will print all contents of workspace and global storage into the developer console.
However, when an extension uses storage, it will always get it's data stored under 1 key (the extension name + extension ID). We never allow to write directly into storage under a key that could conflict with other keys. In other words, all your data go under the same single key in storage and become a JSON object there.
Are you suggesting there needs to be API for you to retrieve the entire state object for the extension?

Are you suggesting there needs to be API for you to retrieve the entire state object for the extension?

Yes, read write access.
The reason is we have inadvertently stored contents of files in the object. This is causing perf issues for users.
We have addressed the issue, however existing users will still have large objects due to the bug and we have no way of clearing the.
We're looking for a way to clear these old items from the object.

I doubt we would do a one-off for this, but adding @jrieken to also comment.
The API I can think of is to get access to the full object that is persisted in global or workspace state for the extension.

I think adding Memento#keys():string[] would be the best here - that's generic enough, not specific to this problem and allows to cleanup

@DonJayamanne A simpler and much faster solution to your problem might be a look at our Memento implementation. Generally, this is highly discouraged but given the problem your are facing: The Memento implementation uses a private _value-property which is a plain JavaScript object and using Object.keys on that should give you what you want..

In the mid/short term we than not only add keys but also a way to remove a key, esp when there are many or when they are long. Maybe globalState.update("key", undefined) could do this implicit tho...

Thanks we'll be using _value to find the keys and clear the data.
FYI - The keys are also dynamically generated and mapped to file names (hence the difficulty, however searching the keys helps, as the items with faulty data have keys that start with a specific string).

Great!

@DonJayamanne assuming you are unblocked, moving this to backlog.

I don't want to add API for nothing. Closing since this does not seem to be asked by others.

I added the following api:
export interface Memento {

	/**
	 * The stored keys.
	 */
	readonly keys: readonly string[];
}

https://github.com/microsoft/vscode/blob/e657d42281487040b50374d482d34b3fb05eb377/src/vs/vscode.proposed.d.ts#L3325-L3335

@eamodio To support older TS versions, the API is using ReadonlyArray<foo> over readonly foo[]

Oh, I thought we had changed to the newer syntax, as I saw other instances in the vscode.proposed.d.ts file. I can switch it.


Panic on remove()

I'm getting an occasional panic using this library on calling IpLookupTable.remove(). Panic location is below:
thread '<unnamed>' panicked at 'index out of bounds: the len is 0 but the index is 0', /cargo/registry/src/github.com-1ecc6299db9ec823/treebitmap-0.4.0/src/tree_bitmap/mod.rs:297:22

The Rust binary in question is processing a couple hundred full BGP feeds but the list of prefixes which trigger the panic is suspiciously small... <IP_ADDRESS>/32 is by far the most frequent culprit. It doesn't seem to happen every time and I have yet to be able to reliably reproduce it in a simple example. All the prefixes that trigger the crashes are /32 IPv4 prefixes.
I added some debug logging and something looks odd. I started logging whenever I insert that prefix so I know it's been seen. Immediately before the panic I dump the table to a file and the prefix exists, however if I try to lookup the prefix using either exact_match() or longest_match() I get a None back..
I realise this is probably tricky to troubleshoot without a reliable reproduction, but any tips on where I can start looking? I tried a build with this line changed to an assert!() but it still gets past that, so something seems to be happening in remove_child()

Actually - I can reproduce it with a pretty small example. This is using 0.4 from crates.io
use treebitmap::IpLookupTable;

use std::error::Error;
use std::net::Ipv4Addr;

const ADDR: Ipv4Addr = Ipv4Addr::new(49, 255, 11, 17);

fn main() -> Result<(), Box<dyn Error>> {
    let mut table = IpLookupTable::new();

    table.insert( Ipv4Addr::new(49, 255, 11, 16), 28, ());
    table.insert( ADDR, 32, ());

    println!("exact_match: {:?}", table.exact_match(ADDR, 32));
    println!("longest_match: {:?}", table.longest_match(ADDR));

    let v = table.remove(ADDR, 32);
    println!("removed: {:?}", v);

    Ok(())
}

Looks like an issue with overlapping subnets.


 You can mention an issue related to this PR when creating a PR. It is okay to fixes, closes an issue in the PR description, not the original commit. I learned hard lesson on this.

/hold