LG Editor: delete attachment messaging & design

Describe the bug
When a user deletes attachment, the messaging / button order is confusing plus no support with doc links (learn more).
Version
v1.3.1-nightly.217012.67a05de
OS

[ ] macOS
[x] Windows
[ ] Ubuntu

Expected behavior
Current:

Proposal:

Why?

Update copy (including checkbox, hint, learn more(https://docs.microsoft.com/en-us/composer/concept-language-generation)) to proposed design (@garypretty),
Leverage a checkbox for the user to still keep the LG content for re-use.
Button order: 'cancel' should be left from 'confirm' main action, is positioned right side of the pop up. If the buttons are positioned left in pop up the order is correct.
Button content: 'confirm' should be 'delete'
Include "Learn more" to docs.

@sangwoohaan Can you weigh in?

@Quirinevwm order of the buttons is coming from Fabric lib which is by Microsoft, traditionally Microsoft does this ordering (positive action left, negative action right) vs. Mac that does the reverse. However, I've discussed this with Sang as well, we are using both ordering in different parts of the app, we need to be consistent.
https://developer.microsoft.com/en-us/fluentui#/controls/web/dialog
https://jsbin.com/gufekenake/edit?html,js,output

@hatpick great to hear that button placement will be consistent across Composer. Indeed Fluent advises other order than Mac, it's just the action boxes are typically aligned from the left in the canvas.
Just to make sure this issue is not really about the button placement. It's more on the confusing actions the users need to take in this pop-up; so updating content and the radio button (shift to 1 checkbox) would be advisable. I found a nice example from Azure Portal pop up, that relies on Fluent/Fabric:


Scaling: be able to handle a few simultaneous users

I'll put this out there again because of the flurry of new activity. It would be really nice to have the actual score compile to happen on a users machine, not the server. Better for lilybin.com (less CPU cycles) and better for users (faster). It would also deal with the scaleability problems we saw last year when I had a class of 50 trying to all click preview at the same time and having everything melt down

That's kinda hard to do. The only way to do that with lilypond is through probably Emscripten. And LilyPond has an especially complex build system with lots of even more difficult dependencies like TeX and Guile.

Yeah, I figured. I'm just mentioning it because lilybin does have a scalability problem, we do have a way to test before it becomes a problem (let's keep our fingers crossed that it does in fact become a problem :)

I think your best option is to launch a bunch of instances of LilyBin in somebody's cloud and direct your students to use those.

I can do that at the university, for sure.... the only reason I mention it is because if lilybin gets a growing userbase, it's going to have issues. How will you fix that then? mirrors maybe?

So far, it's only ever been a problem during your class. If server strain starts to happen more frequently, I have some ideas for handling the load.

It might be possible to compile LilyPond for NaCl to run in Chrome. That would be a cool project for somebody take on. Port LilyPond to NaCl.

Another potential inexpensive solution to the scaling issue is to run LilyPond in AWS Lambda. https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/

We could compile in AWS Lambda and easily stay well within the free usage tier. AWS Lambda pricing. With 1 GB of memory, we'd get 400,000 free seconds of computing. If every compilation took 30 seconds (way generous), we'd get ~13,000 free compilations—way more than needed. If this ever becomes an issue again, this'll be the way to go. While we're at it, we could store scores in DynamoDB and serve the front end from S3, all for less than a dollar a month I estimate.

I just signed up for an AWS account. I'll play around with Lambda for a few days and let's see how well this thing works :)
I'm having some second thoughts about using DynamoDB, since it is not open source and who knows what would happen if say their servers crashed. Having a VPS is also more hackable than on a PaaS service like S3.

DynamoDB is very much temporary. Good for things like sessions, or meta data but not much else. There are size limits to what it can store as well. I'm not a fan of DynamoDB.

Seems like I have to use S3 for storage of the generated PNGs and PDFs.

Prototype for the AWS Lambda slave done: https://github.com/TimothyGu/lilybin-slave
Basically it does a few things:

takes in a key to store the files in S3 and the lilypond code
installs lilypond
compiles the code
upload the produced files into S3 with the specific key.

Lambda doesn't have a way to transmit large binary files, only JSON result can be returned.
A separate step to install lilypond is needed, because installed copy is too big for Lambda's code size restriction (it ended up being about 32 MB, out of 20 MB). With the vanilla install script it works (even though it's around 22 MB but the system still accepted it), but because the Lambda machines are so slow it takes about 15 seconds to decompress and install it. So I decided to just decompress it before hand and upload it to a S3 bucket that is downloaded on-the-fly.
All work is done in /tmp as that's the only writable directory in the entire system.
There is also a very nasty bug with lilypond and ghostscript:
https://github.com/TimothyGu/lilybin-slave/blob/master/install-lilypond.sh#L8-L15
The workaround is taken from: https://lists.fedoraproject.org/pipermail/test/2010-September/093529.html

BTW, a small benchmark with the default boilerplate score:
Initialize: 0.8 s
Installation: 2.8 s (with the official installation script it's about 15 s)
Compilation: 4.7 s
Upload: 0.1 s
Total/Billed: 7.8 s
This was on a 512 MB box, peak memory used is 260 MB.
No, the performance is not impressive at all (currently a prepare_preview request only takes less than 2 seconds), although it might be faster than the current architecture once the number of simultaneous users reaches a specific threshold. Nevertheless, I would say that AWS Lambda is probably not the best choice for this kind of workflow, even though it scales well.

Thanks for looking into that! The most worrisome figure is the 4.7s for actual compilation. Initialization and installation might not matter so much, depending on how the containers get reused in real life usage.
According to https://alestic.com/2014/11/aws-lambda-speed/, execution time may improve if you give it more memory. Can you try it with max memory?

With max memory (1024 MB):
Init: 0.5 s
Installation: 1.9 s
Compilation: 4.5 s
Upload: 0.0 s
Total: 6.6 s
Max memory: 300 MB
The installation time is cut down significantly, but unfortunately not the actual compilation.

Thanks again. We'll think about this more when load becomes an issue.

Also, Lambda seems to cache the container sometimes, so a realistic compile would take less than 5 seconds:

Q: Will AWS Lambda reuse function instances?
To improve performance, AWS Lambda may choose to retain an instance of your function and reuse it to serve a subsequent request, rather than creating a new copy. Your code should not assume that this will always happen.
(From http://aws.amazon.com/lambda/faqs/)

Try skipping the install step in case LilyPond is already there, then see what kind of total turnaround time you get after the initial request.

@trevordixon yep I did that, and a two-page document now only needs 4.8 seconds to render.

And the same score takes ~2 seconds currently?

Hm, while a simple score only takes ~2 seconds currently (and ~4 on Lambda), a more complex score that takes 3.7 currently takes only ~4.8 s on lambda. I guess doing this is worthwhile then.

Hm, when I test it again now, the simple score only takes 2.5 seconds with a pre-heated machine.

@eugenecormier Done by @TimothyGu. Should be able to handle your whole class and more now! Give us a report next time you get to try it.

W00t, awesome job!


How to create a mirror translation site for getbootstrap.com?

I'd like to create a mirror translation site for getbootstrap.com, how to do it?
I've tried to clone from gh-pages branch, but how can I keep up-to-date from this branch and push to the mirror site?
Also, is the gh-pages branch built from other branch?
The mirror site's repo is here, bootstrap-chinese-translation/bootstrap-chinese-translation.github.io.

I have also been questioning about it and is very confused.
I could have asked the same question. Now I see your issue.
I am expecting for the answer.

I've got it! How to Git push from repo A 's branch B to repo C 's branch D? - Stack Overflow

I forgot this: is the gh-pages branch built from other branch?

gh-pages is the live site, so it's built from the v4-dev branch. But it seems we already have a Chinese translation https://getbootstrap.com/docs/4.5/about/translations/?

gh-pages is the live site, so it's built from the v4-dev branch. But it seems we already have a Chinese translation https://getbootstrap.com/docs/4.5/about/translations/?

I'd like to create a pure and clear one, and thank you for helping us with this problem, it will save much time for us. 😀


Remove broken or no longer used files

One is related to #1799. The other has been broken for a very long time and AFAIK never used.

Yeah, good catch. LGTM, they are not used anymore.


Bad values time_flow_start_ns, time_flow_end_ns when sending Newflow v9 and exporting them to Kafka

Describe the bug
The goflow2 collector decodes badly the values of fields time_flow_start_ns and time_flow_end_ns in my case it expands data of 10 seconds among half day without even including the time range of the netflow data.
To Reproduce

Data are sent via tcpreplay (data cannot be shared) using a packet capture of 10 seconds.
netsampler/goflow2:latest is used
Data are stored in our DB and plotted as it is illustrated below:

Expected behavior
The results have been compared both to the wireshark output and also by another tools that collects NetFlow data (pmacct) and our data expand within the 10 seconds of our packet capture.
Plot from pmacct data:

Sampler device:
Data are replayed via tcpreplay using  a packet capture of NetFlow data.
GoFlow2:

Version: GoFlow2 v2.1.3-1-g1b390e4
Environment: Kubernetes
OS: Alpine Linux v3.19

Hello,
It will be difficult to troubleshoot without actual capture.
What is the original source of the capture that's being replayed?
What are the data template fields used for timestamp?
When outputting JSON, what are the actual values of the timestamps and how do they compare to what's shown in Wireshark?
Could you configure -producer=raw and show me the values as well?
Thank you

Hello @lspgn and thank you for your rapid reply.
Unfortunately, I cannot share directly the pcap, since it contains sensitive data.
But I will try to answer inline your questions.

Was the replay done at 18:52: does pmacct discard the timestamp by ang chance and just aggregates?

The captured traffic contains Netflow data spanning from Mar 13, 2024 16:52:19<PHONE_NUMBER>  -> first packet's reported timestamp in unix seconds at wireshark) to Mar 13, 2024 16:52:33<PHONE_NUMBER> -> last packets reported timestamp in unix seconds at wireshark).

What is the original source of the capture that's being replayed?

Those are production NetFlow v9 data sent to a collector.

What's the SQL query used to plot those graphs?

I am investigating Druid and I have selected as  __time the time_flow_start_ns that goflow2 is generating.
SELECT
  TIME_FLOOR(__time,'PT1S') as timem,
  SUM(packets)*1000 as total_packets
FROM "goflow2"

What are the data template fields used for timestamp?

goflow2 -> time_flow_start_ns
pmacct ->  timestamp_start

When outputting JSON, what are the actual values of the timestamps and how do they compare to what's shown in Wireshark?

I have selected a single flow to illustrate the behaviour in goflow2:
{"type":"NETFLOW_V9","time_received_ns":1712219044800653208,"sequence_num":112310449,"sampling_rate":0,"sampler_address":"XXXXXXXX","time_flow_start_ns":1710281495000000000,"time_flow_end_ns":1710331885000000000
The time_received_ns seems fine as I am assuming it reports the date that this flow was received by goflow2.
What seems not to be correct in my case is the time_flow_start_ns and the time_flow_end_ns. The difference between them is approximately 3 hours while they also report dates that are not correct.
The NetFlow packet in Wireshark reports the following values:
SysUptime: 1047938.855000000
CurrentSecs:<PHONE_NUMBER>
Flow StartTime (FIRST_SWITCHED): 1047878.797000000
Flow EndTime (LAST_SWITCHED): 1047929.187000000
In pmacct, I did the same experiment and the following data are reported:
"timestamp_start": "2024-03-13 14:51:33.000000", "timestamp_end": "2024-03-13 14:52:24.000000"
which seem correct assuming that timestamp_start =  CurrentSecs - (SysUptime - Flow StartTime)

Could you configure -producer=raw and show me the values as well?

I could not pinpoint the flow output for that.

I'll have a look at the code, it seems the (correct) calculation is
Current time - sys uptime + first_switched
1710341553 - 1047938 + 1047878 =<PHONE_NUMBER>

where GoFlow2 returns
1710281495

(diff between the two: 59998 seconds)

Could you have a look if https://github.com/netsampler/goflow2/pull/325 solves your issue?


Running out Active Record connections after upgrading from 8 to 9

After upgrading from 8.x to 9.1 we are seeing some issues on our web servers where we are running our rails app using unicorn in product. After a minute or two, the application starts to run out of db connections like so:
ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.004 seconds); all pooled connections were in use
Our database.yml specifies that we have just pool: 1 for the connections to Postgresql, since Unicorn is single threaded. We have found out that this does not happen if we set the connection pool size to 2.
How come there is a difference in how many connections the app consumes with the new version of Newrelic?
Also, we have noticed, that if we run agent version 9.1 BUT with the newrelic.yml used under 8.x then the errors does NOT happen:
# Old version of newrelic.yml used in with agent version 8 until we upgraded to 9.x
common: &default_settings
  license_key: 'xxx'
  agent_enabled: auto
  app_name: 'AU'
  monitor_mode: true
  developer_mode: false
  log_level: info
  rake:
    tasks: [".+"]
  attributes:
    include:
      - job.sidekiq.args.*
      - job.rake.*
  browser_monitoring:
      auto_instrument: false
  audit_log:
    enabled: false
  distributed_tracing:
    enabled: true
  transaction_tracer:
    enabled: true
    transaction_threshold: apdex_f
    record_sql: raw
    stack_trace_threshold: 0.500
    explain_enabled: false
  error_collector:
    enabled: true
    capture_source: true
    ignore_errors: "ActionController::RoutingError,Sinatra::NotFound,ActiveRecord::RecordNotFound,ActionController::UnknownAction,AbstractController::ActionNotFound,Mongoid::Errors::DocumentNotFound,Sinatra::NotFound,Sidekiq::Limiter::OverLimit"
    expected_classes: "CGI::Session::CookieStore::TamperedWithCookie,ActionDispatch::RemoteIp::IpSpoofAttackError,FastAttributes::TypeCast::InvalidValueError,Geo::Errors::UnknownAreaForRegion,CarSearching::Errors::CarModelNotRecognized,ActionController::UnknownFormat"
development:
  <<: *default_settings
  monitor_mode: false
  developer_mode: true
test:
  <<: *default_settings
  monitor_mode: false
production:
  <<: *default_settings
  monitor_mode: true
staging:
  <<: *default_settings
  monitor_mode: true
  app_name: AU Staging

But as soon at we change the newrelic.yml to the updated one matching version 9.1 then we get the issues.
# New version of newrelic.yml updated to match version 9.1 of agent
common: &default_settings
  license_key: 'xxx'
  app_name: 'AU'
  agent_enabled: auto
  log_level: warn
  browser_monitoring.auto_instrument: false
  distributed_tracing.enabled: true
  error_collector.attributes.enabled: true
  error_collector.enabled: true
  error_collector.expected_classes: "CGI::Session::CookieStore::TamperedWithCookie,ActionDispatch::RemoteIp::IpSpoofAttackError,FastAttributes::TypeCast::InvalidValueError,Geo::Errors::UnknownAreaForRegion,CarSearching::Errors::CarModelNotRecognized,ActionController::UnknownFormat"
  instrumentation.thread.tracing: false
  monitor_mode: true
  rake:
    tasks: [.+]
  transaction_tracer.attributes.enabled: true
  transaction_tracer.enabled: true
  transaction_tracer.explain.enabled:  false
  transaction_tracer.record_sql: 'raw'
  transaction_tracer.stack_trace_threshold: 0.5
  transaction_tracer.transaction_threshold: 1.0
development:
  <<: *default_settings
  monitor_mode: false
test:
  <<: *default_settings
  monitor_mode: false
production:
  <<: *default_settings
  monitor_mode: true
staging:
  <<: *default_settings
  monitor_mode: true
  app_name: AU Staging

What's the difference in these configs which might cause the application to want to consume more connections to Postgresql?

When this is happening, I also see: WARN : Dropped 1 log events out of 1. in newrelic.log

I wanna underline again, that the issue does NOT appear running agent version 9.1 AND using the "old" newrelic.yml - but as soon as I deploy the "new" newrelic.yml (still running same agent version 9.1) then the issues appear. So something in that newer version of the yaml is triggering this.

Hi @NielsKSchjoedt 👋 It looks like the difference may be coming from transaction_tracer.explain.enabled:  false in your updated config. Can you try changing that config option to transaction_tracer.explain_enabled:  false and see if that stops the additional connection attempt?
Our example in newrelic.yml is incorrect—thanks for catching this! I've corrected this in #1937. Is that where you pulled the config option from? I'd love to update anywhere else that may have this mistake.

Yes it was from there. It solved the problems. Thanks.

Thanks @hannahramadan like you mentioned, setting it to false fixed my app as well.
can I know why the NR agent doesn't adhere to the Rails app's configured pool size. Does the agent maintain a separate DB pool where we can configure? thanks

Hi @oshanz! The agent opens a new database connection after slow SQL queries in order to collect explain plans when transaction_tracer.explain_enabled is true. We don't do anything with an apps existing pool size or behavior, so we don't have configurations for it outside collecting/not collecting explain plans.


Business metrics are internal to Sourcegraph

We should document the level of visibility of business metrics. I assume these should be internal and not public (hence the PR), but if this is not right then let's update this PR and document whatever is correct.

Going to merge this as-is, and agree that more specific guidance would be helpful to add.


Scriptable (?) multi-image lightfield capture

Hi!
I've spent about a day playing around with lightfield game capture for the Looking Glass 3D display (i'm an employee there) and I'm interested in using a system like IGCS to get perfect screenshots rather than fumbling around in the developer console or worse, moving my character around in the game.
Our system is very similar to a stereo/parallax display, where you take two photos from slightly different angles and superimpose them to create a depth illusion, but rather than displaying 2 views it actually superimposes 45 images at once.
So - what's required for the image capture is actually very simple. All I need is a method through which I can repeatedly move the camera a fixed distance left and right, taking a screenshot each time. To set the distance between pictures, I'd ideally like to patch in an additional variable parameter which can be adjusted from the imgui. It looks like I just need to drop in a bit of extra code in Input.cpp and CameraManipulator.cpp to repeatedly call Camera::moveRight and Camera::moveLeft. But, as I need to save an image between every movement, I don't know if there is a straightforward way to dump framebuffer to image directly from the injected code? Ideally this capture process would be near-instant, so I wouldn't need to press the screenshot button 45 times for it to work.
I'm happy to hack at the source code a little bit, but I'm wondering if there's anything I should be aware of that might make the process easier, i.e., unimplemented functions that dump framebuffer to file, or a way to move the camera to an exact position relative to its current one. I noticed you were planning a feature basically identical to this idea in another issue, and this seems like a simpler version of that as we don't need to account for a curved path or smooth motion.
This is a really amazing project and I'm super excited to get some amazing 3D captures, so thanks for working on it!

Hey :)
That sounds like a great little project! :) For moving the camera for an x amount, you indeed can use moveleft/right on the camera class. Just call the method and the camera will move. The mainLoop (https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/AssassinsCreedOdyssey/InjectableGenericCameraSystem/System.cpp#L72) first handles user input and then writes the new camera info to the struct in memory. This means if you call moveleft/right on the camera instance, the new values will be written to the camera struct in memory after updateFrame has ran.
This week I've added keybinding support to the newest camera iteration, which is the AC:Odyssey camera, so I'd use that source as the base of your changes.
The amount to move left/right could be configurable through imgui indeed. I'd add the setting to the settings.h file (which has been factored out in this camera and all new ones moving forward) -> https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/AssassinsCreedOdyssey/InjectableGenericCameraSystem/Settings.h#L28
A simple float will do. Then to edit the value, add a slider here, similar to the ones you see there: https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/AssassinsCreedOdyssey/InjectableGenericCameraSystem/OverlayControl.cpp#L291
You don't need to mark settings dirty if it's not persisted to the ini file.
I think that covers the camera side/editing. You of course want to take screenshots automatically. IGCS doesn't have that built-in as I use afterburner or reshade for that. However, you could add it to your project without much problems, e.g. by basing it on the save screenshot code in reshade's sourcecode: https://github.com/crosire/reshade/blob/master/source/runtime.cpp#L963 start there and follow the calls to other code you might need, like capture_frame(vector). It basically copies the framebuffer to an in-memory buffer and writes it to disk in a format, using stbi* functions, which are OSS functions for dealing with texture data.
The camera paths issue is still on my radar (as well as adding a reshade-like layer to IGCS as reshade doesn't support Dx12 and I miss my DoF shader in dx12 games ;)) but not enough time at the moment to implement it in full.
Hope this helps and if you have any further questions, let me know :)

Sounds great! Is it plug and play to update less up-to-date games in the list with the newest camera code bindings, and if so, would you be able to let me know which C++ files to copy and which ones to leave alone? Right now I only own Prey, DOOM and MGS5.

Implemented everything as described, and it all works great, except figuring out how to port in the capture_frame code from reshade! I'm very much not up to speed on how modern rendering engines work so I'm not sure how deep into the reshade code I should be digging to import headers, etc... is there an easy pointer to the framebuffer that's already exposed in IGCS?

Actually - it seems to me that rather than porting in code from reshade, the easiest way to handle this would just be to spoof an F12 keydown message to use Steam's builtin screenshot function, since you're already hooking all the input reports. That code is a little opaque to me - do you have any advice on the quickest way to hack that in? Ideally in a way that ignores the input blocked state? Thanks!

The keybindings are more for configuring them at runtime, if you're fine with the defaults, you don't need those :)
If you want to trigger capture code in another overlay, you have send a WM_INPUT or similar message to the window I think, to make them think a key is pressed. I haven't tried that tho. The hWnd to send the message to is here: https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/AssassinsCreedOdyssey/InjectableGenericCameraSystem/Globals.h#L76 You can use Win32's SendMessage for that.
Grabbing the backbuffer indeed requires the knowledge of which texture is the backbuffer and copy that to a buffer in-memory. The D3D11 device is available tho: https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/AssassinsCreedOdyssey/InjectableGenericCameraSystem/UniversalD3D11Hook.cpp#L34 I hook d3d11 to get these. It's however rather straightforward I think, see: https://www.unknowncheats.me/forum/direct3d/74570-dx11-screenshot.html
Having that backbuffer you can then write it to a file using either png or bmp functions, see: https://github.com/nothings/stb

After a couple attempts to adapt both the original reshade source and the unknown cheats method to get the backbuffer, I must admit defeat and come back with my code that exposes an embarassing lack of understanding of DirectX internals... :(
https://gist.github.com/wormyrocks/31317a3b694d0df4c1f23eee1d473a45#file-universald3d11hook-cpp-L219
This is my modification to UniversalD3D11Hook.cpp, it gives me a sequence of empty screenshot files. -- no dimensions, no data. capture_frame_() is my attempt to port capture_frame over from reshade, while capture_frame() is my attempt to port it from unknowncheats. (The latter crashes before it saves any files.) I imagine there is something very obviously wrong with this that ought to be an easy fix - any pointers?
Full repository reflecting all changes to code can be found here. Please excuse my terrible hacky code, I am extremely shaky with C++.
Thanks so much again for all your help!

Hey,
It could be you're copying the buffer right after it's cleared after vsync. Try to write a screenshot in the render loop, so right BEFORE present: https://gist.github.com/wormyrocks/31317a3b694d0df4c1f23eee1d473a45#file-universald3d11hook-cpp-L116
I haven't looked at reshade how that's doing it, but I guess this is needed, after present the buffers swap and you likely come in at a random moment, so there's no sync between what's on screen and your screenshot call.
So what I'd do, is, when a screenshot needs to be taken, you set an atomic bool, in the present function (see link above) you check that bool, if it's true, you write a screenshot (or at least, copy the buffer, then hand it to a thread that writes the file, otherwise you get a serious stutter 😉), set the bool to false again and proceed as normal.
I haven't done this before tho, so I might be completely wrong, but I think that's what's going on.
Good luck 😊
Frans

After a couple attempts to adapt both the original reshade source and the unknown cheats method to get
the backbuffer, I must admit defeat and come back with my code that exposes an embarassing lack of
understanding of DirectX internals... :(
https://gist.github.com/wormyrocks/31317a3b694d0df4c1f23eee1d473a45#file-universald3d11hook-cpp-L219
This is my modification to UniversalD3D11Hook.cpp, it gives me a sequence of empty screenshot files. -

no dimensions, no data. capture_frame_() is my attempt to port capture_frame over from reshade,
while capture_frame() is my attempt to port it from unknowncheats. (The latter crashes before it saves
any files.) I imagine there is something very obviously wrong with this that ought to be an easy fix -
any pointers?
Full repository reflecting all changes to code can be found here
https://github.com/wormyrocks/InjectableGenericCameraSystem . Please excuse my terrible hacky code,
I am extremely shaky with C++.
Thanks so much again for all your help!

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/FransBouma/InjectableGenericCameraSystem/issues/85#issuecomment-469126210 , or
mute the thread <https://github.com/notifications/unsubscribe-
auth/ADdd8inMsHFwHahkpRfwQ8UHr3TtdQuMks5vTLLlgaJpZM4a82-9> .
https://github.com/notifications/beacon/ADdd8qiyo8d6-VPuPhVA_ytDA1UnarqBks5vTLLlgaJpZM4a82-9.gif


move all defer rows.Close() calls directly beneath query call

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/584/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/540/

If err is not nil is it safe to call Close() on row?

Yes, it is safe to call close on a nil rows object. Looking at the source
code it is unnecessary because if the err returned isn't nil the rows will
be nil, but I liked having it located right by the call.
On Nov 1, 2017 10:26 PM, "Phil Sorber"<EMAIL_ADDRESS>wrote:

If err is not nil is it safe to call Close() on row?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-trafficcontrol/pull/1489#issuecomment-341314582,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHuqlUW9pXHWyX8Qdfvqmj9haHHt3Ffaks5syUSMgaJpZM4QO1d9
.

@DylanVolz I know this is already merged, but I'd just like to say, I'm +1 on calling Close() after checking the err, -1 on calling before, because:

even if it's safe in this particular instance, the Go idiom is to always check errors before objects, and that objects aren't guaranteed to be valid (and for pointers, to be non-nil) if err is non-nil
It's not even theoretically safe here. You're right, the current source is safe, but that's an implementation detail. There's no guarantee in the spec or documentation, which means it could become unsafe in the next release.
Even if it were guaranteed in the spec, IMO we should still check the err first, following the idiom, because it's safer as a pattern. If we call functions before checking the error in places it's technically safe, someone new to Go could easily see them, think it's generally safe, and write a bug. Better to use the safe pattern everywhere, unless there's a compelling reason not to.


FiberError with minitest's parallelize_me! with sequel

It fails non-deterministically, line 46 in test_helpers.rb is:
DatabaseCleaner.clean

FiberError: fiber called across threads
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/sequel/transaction.rb:32:in `resume'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/sequel/transaction.rb:32:in `clean'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/base.rb:92:in `clean'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/configuration.rb:79:in `block in clean'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/configuration.rb:79:in `each'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/configuration.rb:79:in `clean'
    /home/bbozo/infosig/InfoSwitch/Gateway/test/test_helpers.rb:46:in `block in <class:UnitTest>'

this is going in unit tests, so no parallel thread wacky stuff going on like with the integration tests. I'm using database_cleaner (1.5.3), let me know if I can assist more

Update, checking around the failing code, I tried the #around mode and did:
DatabaseCleaner.clean_with(:truncation)
DatabaseCleaner.strategy = :transaction

class UnitTest < MiniTest::Spec

  around do |tests|
    DatabaseCleaner.cleaning(&tests)
  end

end

now I get non-deterministic (on all tests, every time):
FiberError: double resume
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-around-0.3.2/lib/minitest/around/spec.rb:23:in `resume'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-around-0.3.2/lib/minitest/around/spec.rb:23:in `block in around'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-around-0.3.2/lib/minitest/around/spec.rb:32:in `instance_exec'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-around-0.3.2/lib/minitest/around/spec.rb:32:in `block (2 levels) in after'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-around-0.3.2/lib/minitest/around/spec.rb:32:in `block (2 levels) in after'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:113:in `block (4 levels) in run'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:205:in `capture_exceptions'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:112:in `block (3 levels) in run'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:111:in `each'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:111:in `block (2 levels) in run'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:256:in `time_it'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:104:in `block in run'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest.rb:331:in `on_signal'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:276:in `with_info_handler'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/test.rb:103:in `run'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-around-0.3.2/lib/minitest/around/unit.rb:11:in `run'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest.rb:778:in `run_one_method'
    /home/bbozo/.rvm/gems/ruby-2.2.4/gems/minitest-5.8.4/lib/minitest/parallel.rb:32:in `block (2 levels) in start'


feat: Add ability to enumerate Debian package versions

Add the ability to enumerate versions for debian packages via their snapshot api.

Oh accidentally pressed rereview request, please ignore


Chore [HDH-222] add Sign In button to main nav

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[x] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65bd78ed0fe81117b76d6290--harness-developer.netlify.app

LGTM! Eventually we can add hoover text.


Access OrientDB Studio via HTTPS

OrientDB Version: v2.2.16
Java Version: 8
OS: Ubuntu 16.04
This is just a question about accessing OrientDB Studio via HTTPS.
All the docs I've looked only provides information on how to access OrientDB Studio insecurely via HTTP. Has anybody configured access to it via HTTPS that they can share?

hi @finid
the OrientDB web server does not support https. But you can proxy it behind a ngnix/apache https connection

You can for example use this proxy pass
  ServerName www.test.com
  ProxyPass /mystudio/ http://internalip:2480/  connectiontimeout=300 timeout=300 Keepalive=On
  ProxyPassReverse /mystudio/ http://internalip:2480/

and then access to studio with this url
https://www.test.com/mystudio/studio/index.html#/

@finid
if you need to expose directly the OrienetDB server i recall now that there is this guide to use SSL
http://orientdb.com/docs/2.2/Using-SSL-with-OrientDB.html

Thanks, @maggiolo00. This may now be closed.


No way to createProgram from files with extensions other than typescript extensions (such as .vue).

TypeScript Version:  latest
Expected behavior:
Ability to call ts.createProgram for typechecking on a file without a .ts extension. For example, a .vue file (the vue file would have been stripped down through webpack loader chain and contains only valid TypeScript in it by the time createProgram is called on it).
Actual behavior:
Doesn't work with .vue files. For example, program.getSourceFile(fileName) will return undefined on anything other than valid typescript extensions.
Ultimately my goal is to do my own linting on .vue files.

The compiler makes assumptions about file extensions in module resolution and in output generation.. this is why createProgram validates the extensions of input files.
if all you want is to lint, then you do not realy need a Program, all you need is a SourceFile, so consider using createSourceFile instead.

Some linting requires the typechecker so I can't go the route of just using createSourceFile. For single file components (.vue) is my only solution to pull out the TypeScript and put it into it's own file (.ts) and just import it into the .vue file then? This is unfortunate.

But createProgram does take CompilerHost as optional argument and you could specify that host to  with your specific getSourceFile and resolveModuleName to handle this. Would that not work?

Hmmm... ok @sheetalkamat maybe there is a solution there. Let me try that! I'll close this issue and report a new issue if I find TypeScript blocking me further. Thank you!


Remove unneeded resolvers

Coverage remained the same at 80.43% when pulling 8e806c715ff9e63465707bb45f11ea30f31c51bc on topic/resolver-cleanup into 8aef4604a6572246fb296c87722c43c8bf7517e4 on master.


Review a few name table check results

Are these check-results correct, @davelab6? Or are these false-errors ?
If these are bad results, I can add the expected  correct values to our whitelist.

Thanks marc!!
On Apr 7, 2017 10:22 AM, "Marc Foley"<EMAIL_ADDRESS>wrote:

@felipe https://github.com/felipe, I'll review this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googlefonts/fontbakery/issues/1271#issuecomment-292473816,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP9y48_YJgBkhNJOoBrQ6H60laO7ZKjks5rtfJigaJpZM4M2I8_
.

I remember I wrote about this a while back, #1211.
Family names should not be camelCase.

To answer the question, I think spaced rather than camel case is best for
family names, and a single camel case word best for style names

@felipesanches no changes are needed. The upstream repo needs to be updated, I've already done this. The version pushed to GF is ahead and has the names fixed.

cool, thanks!


Repository is locked behind an IP Allow-list

Describe the bug
Can no longer access SFDO-Tooling repositories on github from non-Salesforce IPs (including logging issues)
Reproduction steps

Use a computer not on VPN or not connect to the Salesforce network
Browse to github.com/sfdo-tooling
Error is displayed (Access forbidden from this IP Address)

Your CumulusCI and Python versions
N/A
Operating System
Windows / Mac
Windows environment
No response
CumulusCI installation method
None
Error Gist
No response
Additional information
Didn't really have a good place to submit this ticket, so figured I'd put it here

@dcinzona this is the same for all open source salesforce repos (and is highly annoying) but there's not much anyone (except github) can do about it. From the github docs:
"If a user is signed into GitHub.com, the IP allow list determines whether the user can access the organization's public resources. The list does not apply to anonymous access to public resources."


Release 1.9

🛑 DO NOT MERGE 🛑
DO NOT MERGE UNTIL KUBERNETES 1.9 IS RELEASED
Target Date: 2017-12-13 @ 16:00 PDT

This change is

PR
Based on release-1.9?
Tech review
Docs review
Merged

#6066
✔
✔
✔
✔

#6103
✔
✔
✔
✔

#6260
✔

#6368
✔

#6371
✔

✔

#6392
✔

#6408
✔

#6415
✔

#6427
✔

#6463
✔

#6465
✔

#6474
✔

#6479
✔

#6486
✔

#6487
✔

#6504
✔


Improve virt-handler when the vsock feature gate is enabled but no vsock device is available

What happened:
If the vsock feature gate is enabled, virt-handler will blindly try to start a vsock-grpc server. If the vsock device is not there it will periodically spam the logs that it could not start the service.
What you expected to happen:
Like the virt-handler device plugins it should only try to start the service if the vsock device is present and watch for it to appear.
How to reproduce it (as minimally and precisely as possible):
Enable the vsock feature gate and ensure that vsock is not supported on a host. The virt-handler logs will be spammed with start retries.
Additional context:
Follow up of https://github.com/kubevirt/kubevirt/pull/9087#discussion_r1085760411

/label good-first-issue

Hi, I'm a student at UT Austin and would like to work on this issue for my Virtualization course project. Could I be assigned to this issue?

/assign shashankiswara0

@shashankiswara0 happy if you take it :)


[WIP? 🤷] Review workflow widget styled as switch

Why was this change made?
fixes #399 (i'd had this WIP on a local branch from when i was in this part of the code a week before last -- i didn't push it for review since it still differed some from the mockup, but per discussion friday about trying to hew to vanilla bootstrap where possible for ease of implementation, here's what i have in case it is good enough)
How was this change tested?

test suite to catch regressions
manually tested to confirm updated form displays and submits correctly

Which documentation and/or configurations were updated?
n/a
questions

[ ] should we add a feature spec to exercise the form display?  if so, under this ticket, or a separate ticket?
[ ] this doesn't quite match the mockup, but maybe it's ok as-is?  per discussion friday, this uses the basic bootstrap version of this sort  of switch.  AFAICT from a bit of web searching, the presentation in the mockup requires a bit of extra custom styling (to have the text be on the switch itself).  so, two subquestions:

[ ] am i right that vanilla bootstrap doesn't give us this out of the box, or did i miss something?
[ ] if this does require extra styling beyond vanilla bootstrap, do we want to do that, or is the change in this PR sufficient?

screenshots
old styling

new styling in this PR

mockup

vanilla bootstrap example

I was hoping @astridu would provide her thoughts.

Looks great! Thanks!


python3Packages.denonavr: 0.9.10 -> 0.10.5

Motivation for this change
Update to latest upstream release 0.10.5
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Check if you can enable the tests. The package bump was https://github.com/home-assistant/core/pull/47920 and came with a bunch of code changes moving the component to async.

Result of nixpkgs-review pr 121153 at ab012688 run on x86_64-linux 1

4 packages built successfully:

python38Packages.async-lru
python38Packages.denonavr
python39Packages.async-lru
python39Packages.denonavr

Looks like we could enable the tests after Home Assistant 2021.5.

Let's drop async-lru and updated to https://github.com/scarface-4711/denonavr/releases/tag/0.10.6.


Attempt to get token right away.

This makes it so that we don’t have to wait for an async response in order to start making authenticated requests.

@ekryski Any idea how to setup the token on socket.io?  This isn't doing the trick for some reason.

👍  :shipit: no need to worry about tests right now.


Set up CI with Azure Pipelines

Coverage remained the same at 43.745% when pulling 338022988f8524391821015bba40cb992fca7dc3 on tristano_azure into 45ede970d2f9f5a50f79f509908a3af2e98ff3b6 on master.


ESLintとPrettierからBiomeへ移行する

#286 の対応です。
合わせてTypeScriptやxs-devをバージョンアップしています

Summary by CodeRabbit

New Features

Introduced a configuration schema for the Biome JavaScript environment.

Bug Fixes

Improved error handling and logging in various modules.

Documentation

Updated JSON manifest files for better readability and formatting.

Refactor

Transitioned various imports to type-only imports for clarity.
Enhanced code clarity by using const instead of let where applicable.

Style

Standardized formatting across multiple files, improving consistency.

Chores

Updated dependencies in the project to newer versions for better performance and security.

最新取り込みしましたのでご確認おねがいします


Compilation error in 1.4.10

gwt-time version 1.4.10 produces the following GWT compilation error:
[INFO] --- gwt-maven-plugin:1.0.0:compile (default-compile) @ gwt-time-issue ---
[INFO] Compiling module gwt-time-issue-gwt
[INFO]    Tracing compile failure path for type 'java.time.format.SimpleDateTimeFormatStyleProvider'
[INFO]       [ERROR] Errors in 'jar:file:/home/bruno/.m2/repository/org/jresearch/gwt/time/org.jresearch.gwt.time/1.4.10/org.jresearch.gwt.time-1.4.10.jar!/org/jresearch/threetenbp/gwt/super/java/time/format/SimpleDateTimeFormatStyleProvider.java'
[INFO]          [ERROR] Line 156: The method format(String, FormatStyle) is undefined for the type String
[INFO]          [ERROR] Line 171: The method format(String, FormatStyle) is undefined for the type String
[INFO]          [ERROR] Line 186: The method format(String, FormatStyle) is undefined for the type String
[INFO]    [ERROR] Aborting compile due to errors in some input files

I'm using GWT 2.9.0. It didn't happen in 1.4.8.
Here is a reproducer project: https://github.com/salmonb/gwt-time-issue
In addition, when trying gwt-time in a more complex project, I'm also getting these additional GWT compilation errors (even with 1.4.8):
[INFO]    Tracing compile failure path for type 'org.gwtproject.core.client.ScriptInjector'
[INFO]       [ERROR] Errors in 'jar:file:/home/bruno/.m2/repository/org/jresearch/gwtproject/core/gwt-core/1.1/gwt-core-1.1.jar!/org/gwtproject/core/client/ScriptInjector.java'
[INFO]          [ERROR] Line 43: The method getAny(String) is undefined for the type JsPropertyMap<Any>
[INFO]          [ERROR] Line 108: The method getAny(String) is undefined for the type JsPropertyMap<Any>
[INFO]          [ERROR] Line 239: Void methods cannot return a value
[INFO]    Tracing compile failure path for type 'org.gwtproject.core.client.JsArrayMixed'
[INFO]       [ERROR] Errors in 'jar:file:/home/bruno/.m2/repository/org/jresearch/gwtproject/core/gwt-core/1.1/gwt-core-1.1.jar!/org/gwtproject/core/client/JsArrayMixed.java'
[INFO]          [ERROR] Line 40: The method getAnyAt(int) is undefined for the type JsArray<Object>
[INFO]          [ERROR] Line 63: The method getAnyAt(int) is undefined for the type JsArray<Object>
[INFO]          [ERROR] Line 51: The method getAnyAt(int) is undefined for the type JsArray<Object>
[INFO]    [ERROR] Aborting compile due to errors in some input files

Please let me know if I need to open a separate issue for this and if you need a reproducer.

Thank you for reporting.
The first error will be fixed in the next version.
The next one looks like because of GWT 2.9.0. I am not migrating yet. Will investigating. And yes - it will be better to track it in a separate issue.

Ok I created another issue: https://github.com/foal/gwt-time/issues/3
Actually it's not because of GWT 2.9.0 but because of elemental2 version 1.0.0 (the same error happens with GWT 2.8.2 and elemental2 1.0.0)

Elemental2 1.0.0 does not work with GWT 2.8.2 at all. The last version compatible with GWT 2.8.2 is 1.0.0-RC1. As well as Jsinterop - the last version for GWT 2.8.2 is 1.0.0-RC1


Add option to modify filtering based on PageShortcutType

We have a need to remove pages from sitemap that have their content fetched from another page, ie. PageShortcutType.FetchData.
Would it be possible to configure this somehow already, or could this feature be added?

One of options I see - you can implement sitemap property like described here https://github.com/Geta/SEO.Sitemaps#adding-sitemap-properties-to-all-content-pages and manually uncheck "Enabled" for pages you want to skip in sitemap

Yes, this is how we have been doing it. It's just becoming tedious to do this for all required pages, and then it's not not easy to see which pages have it set and which not. And all of the pages have in common that they are fetched from other pages, so it would be so easy to just filter based on that.
But thanks for the quick reply!

@tuomasinkinen I think this is a very specific use case. I do agree there should be an easy way for filtering out pages. Like @lanorkin is saying you could use the property. Another solution could be where we allow developers to create an (or multiple) implementations of the IContentFilter and use that in the package to see if the content item should be included in the sitemap or not.

Yes, it would be wonderful if we could make our own implementation of the IContentFilter, and inject it from the EPI-project.

I went through the code to see how this can be implemented, but I think there is a simple solution for this. The IContentFilter is already available because it's a public interface so you can make your own custom implementation (make sure to call the base class!).
public class SiteContentFilter : ContentFilter
    {
        public override bool ShouldExcludeContent(IContent content)
        {
            if (base.ShouldExcludeContent(content))
            {
                return true;
            }

            // Custom logic here

            return false;
        }
    }

Register in your DI container.
services.AddTransient<IContentFilter, SiteContentFilter>();
I'll add this to the documentation.


Add hint to create categories in CLI reports

User story
As a user, I want to know about the option to create categories. Now that categories have been omitted from the basic setup docs and the report doesn't mention them if missing (see #437), a user is less likely to find out about this feature.
Acceptance criteria

[ ] if categories are missing, generated reports should display a hint in their place
[ ] hint should link to our docs on how to create categories

ATM a hint is implemented. So IMO this could get closed.
Also, I a message independent of the report output is better than modifying the stdout of the report.

I think the remaing question is whether to include such a hint in the report.md, instead of just omtting the top section completely. What do you think?

OK, in that case this can indeed be closed.


Access-Control-Allow-Origin Error

Issue description
CORS error. Should we use a composer package to resolve or you have anything in your mind?
Environment
OS: Windows
Server: Apache
Node: v8.9.1
Npm: 6.1.0
Laravel 5.6

Hi @marufmax,
If I remember correctly, I believe sometimes this can be a server configuration issue. Do you have a link where we can replicate the issue?


Rack dependency version prevents usage with Rails 4

Was about to use this but then ran into bundler conflict.
Rails <IP_ADDRESS> has rack dependency of "~> 1.6".
tus-ruby-server has rack dependency of "~> 2.0"
However from what I could see, this gems other dependency, roda, doesn't require such a recent version.
Would be good to get this gems rack version decreased so it works with Rails 4.

I too have, sort of, this problem. I would like to evaluate it in a larger project. But due to several dependencies we're stuck at rack 1.5.2.
I think it's actionpack 4.0.0 that's keeping us down to such a specific version. Actionpack 4.2.0 could possibly let us move up to rack 1.6, but 2.0 is pretty much not worth the hassle =/
And I'm not sure how feasible an actionpack update is at this time either.

I downgraded the rack dependency in a fork and used that. The majority of things work fine. The only thing that doesn't is GET /files/:uid calls because the older/newer versions of rack take a different set of arguments for the same method. But I don't do file serving using the URL anyway, so that worked for me. Would still be good to support both versions of rack though.

For some reason I haven't been "watching" my own project, so I didn't get a notification for this issue 😛
Yes, definitely, I agree tus-ruby-server should support Rack < 2. The only reason for this constraint was that Rack::File has a different API, but I didn't realize that older versions of Rails have the Rack constraint. And it's not difficult to support both, Roda did it easily.
I'll work on Rack 1.x support as soon as I find time.


[Segment Replication] Merge back to main tracking issue.

There are significant gaps in unit & integration testing of the feature because this was not prioritized with the poc.  This issue will track issues to fill these gaps.
This is a list of how I think we could cut our feature branch to start merging back into main.  Each one of these should have unit coverage.

[x] #2926
[x] #2927
[x] #3109
[x] #3110
[x] #3112
[x] #3320
[x] #3322

Misc changes:

[x] Add segrep index setting - #2904
[x]  LocalCheckpointTracker - fast forwarding seqNo. Does not need to be called anywhere yet.  - #2883

Self review.  These are some Ideas after looking at our diff here - https://github.com/opensearch-project/OpenSearch/compare/feature/segment-replication that I think might be worth doing as we merge back into main:

[ ] IndicesClusterStateService - Refactor ShardRoutingReplicationListener and ShardRoutingRecoveryListener to a single listener class, these are identical.
[ ] Store & MultiFileWriter - conditional fsyncs.  Do nothing for now on the merge.  We want this as a separate optional sergep setting, and they should be enabled with segrep on, so logic is different than what’s in feature branch right now.

Closing bc merge is complete, recovery path updates is not a merge.  Tracked in meta issue.


Getting Error in xcode 10

New Issue Checklist

I have read the guidelines for contributing and I understand:

[x] My issue is happening in the latest version of SideMenu.
[x] My issue was not solved in the README.
[x] My issue can not be answered on stackoverflow.com.
[x] My issue is not a request for new functionality that I am unwilling to build and contribute with a pull request.
[x] My issue is reproducible in the demo project.

Issue Description

Yesterday I have updated the xCode, Deleted pod.lock and pods file then install and update pods.
I got couple of error in sidemenu code which all are related to the NotificationCenter (UIApplication.method)

What release version of do you use? 5.0.1?

I have same issues, replace NSNotificaton.Name,UIApplication.... bla bla
with:  UIApplication.didEnterBackgroundNotification
In google research can found hot fix for every error

@UnionMexicanaDelNorte
Do:

pod repo update to be sure that your local 'podspec' repo actual.
Check Podfile pod 'SideMenu'
Run pod update SideMenu
Ensure that you see Using SideMenu (5.0.1)
Clean Xcode Project, delete Derived Data and build.

Update your swift version.


Support AWS DMS Partitions in Method store_parquet_metadata

Is your idea related to a problem? Please describe.
I am trying to create glue tables for data in S3 written by AWS DMS as partitioned parquet files. The problem is that AWS DMS writes the partitions in the format "2023/05/01/" and not in the Hive standard like "year=2023/month=05/day=01".
Now when I try to create the glue tables using the Wrangler method "store_parquet_metadata", the partitions are not recognized because in the internal method "_extract_partitions_metadata_from_paths" is filtered for "=".
Describe the solution you'd like
Currently only hive conform partitioning seems to be supported. It would be better if you could pass the partition keys when calling the method.

Why not support on S3Settings something like DatePartitionHive?


Problems using temporary credentials obtained from STS

Hello,
I like what I've read about org-formation but I'm having problems running it with my STS credentials.  Can you please help trouble shoot this issue?
I limit assuming roles to users that have MFA enabled.  I use aws-mfa to manage obtaining temporary credentials from STS.
$ org-formation --version
0.9.4

My ~/.aws/config is:
[profile ch-master]
region = eu-west-1

[profile ch-master-administrator]
region = eu-west-1
source_profile = ch-master
role_arn = arn:aws:iam::111111111111:role/Administrator

Initially, my ~/.aws/credentials is:
[default]
aws_access_key_id = none
aws_secret_access_key = none

[ch-master-long-term]
aws_mfa_device = arn:aws:iam::111111111111:mfa/craig.hurley.cli
aws_access_key_id = AAAAAAAAAAAAAAAAAAAA
aws_secret_access_key = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

Next, I run aws-mfa --profile ch-master, enter my MFA code at the prompt, STS returns the tokens and aws-mfa adds the following to my ~/.aws/credentials file.
[ch-master]
assumed_role = False
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
aws_session_token = mmmmmmmmm
aws_security_token = nnnnnnnnn
expiration = 2020-05-09 23:28:10

At this point I can successfully run commands on the aws cli using the role defined under [profile ch-master-administrator] in my ~/.aws/config file, e.g:
$ aws s3 ls --profile ch-master-administrator
2020-05-08 10:19:24 cf-templates-wxyw1t5ayxrv-eu-west-1
...

However, org-formation fails to find the profile (and use the STS provided tokens):
$ org-formation init org.yaml --verbose --print-stack --region eu-west-1 --profile ch-master-administrator
DEBG: initializing, arguments:
{
  "stateBucketName": "organization-formation-${AWS::AccountId}",
  "stateObject": "state.json",
  "state": "undefined",
  "profile": "ch-master-administrator",
  "color": true,
  "verbose": true,
  "printStack": true
}
👋 Enter MFA code for undefined:
112233
ERROR: unexpected error occurred...
Profile ch-master-administrator not found
SharedIniFileCredentialsProviderFailure: Profile ch-master-administrator not found
    at SharedIniFileCredentials.load (/usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials/shared_ini_file_credentials.js:101:11)
    at SharedIniFileCredentials.coalesceRefresh (/usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials.js:205:12)
    at SharedIniFileCredentials.refresh (/usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials/shared_ini_file_credentials.js:168:10)
    at SharedIniFileCredentials.get (/usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials.js:122:12)
    at resolveNext (/usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials/credential_provider_chain.js:125:17)
    at /usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials/credential_provider_chain.js:126:13
    at /usr/local/lib/node_modules/aws-organization-formation/node_modules/aws-sdk/lib/credentials.js:124:23
    at /usr/local/lib/node_modules/aws-organization-formation/dist/src/util/aws-util.js:153:29
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Hi Craig, thanks for your issue!
I will look into this today or tomorrow a bit more thoroughly (will try to reproduce using the setup you describe. thanks for that).
If i understand you correctly you would expect not to get prompted for a MFA code after having ran aws-mfa. You would expect the temporary credentials written to ~/.aws/credentials to be used directly.
For this case, indeed, the loading of credentials using a profile seems broken. From what i can tell:

The custom implementation for MFA part of org-formation seems to follow the try to do the mfa challange but fails
The SharedIniFileCredentials provider (from AWS) doesn't seem to find the profile.

One, obviously very lame workaround I can offer at this moment with v0.9.4 is to copy the temporary credentials tot the environment variables and not use a profile. This way you avoid using either method from above. how to do this is described here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
Good news for now is that there is a really mature beta for v.0.9.5 that will be released soon and I am looking forward to release a fix for this issue as well.
Will keep you posted.
Olaf

you would expect not to get prompted for a MFA code after having ran aws-mfa. You would expect the temporary credentials written to ~/.aws/credentials to be used directly.

That’s right.

Got it!
fixed two issues:

Support for assumed credentials in the credentials file, as this requires the sessionToken to also be used.
Only asking for the MFA challenge using the tool if one, indeed, is configured.

As a result it will now assume the role arn:aws:iam::111111111111:role/Administrator using the credentials generated by the aws-mfa tool for profile ch-master.
Thanks a lot for filing this issue and the clear description.
The commit this is fixed is in: https://github.com/OlafConijn/AwsOrganizationFormation/commit/306c7558af34cba09de1745543b1d174ab1ca940
Unfortunately the node sdk doesnt contain a credentials provider that supports mfa / assume role.
I will soon create a beta version and update this thread.
Olaf

should be fixed in beta 17 of 0.9.5
npm i<EMAIL_ADDRESS>looking forward to hear whether this works!

Version 0.9.5-beta.17 works for this scenario.  Thank you!
Well done on a great tool.

released as part of v0.9.5


Rename webhooks for notifications

Signed-off-by: Sayali Gaikawad<EMAIL_ADDRESS>Description
These webhooks credentials were stored on jenkins server directly which is not the best practice. Hence moving them to AWS secrets manager and renaming them with jenkins-* prefix
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Converting to draft till I update the secrets with actual values.

Codecov Report

Merging #2322 (a0a9a96) into main (f6cab52) will increase coverage by 5.38%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #2322      +/-   ##
=============================================
+ Coverage     94.61%   100.00%   +5.38%
=============================================
  Files           209         6     -203
  Lines          4309       105    -4204
  Branches         29        19      -10
=============================================
- Hits           4077       105    -3972
+ Misses          226         0     -226
+ Partials          6         0       -6

Impacted Files
Coverage Δ

tests/jenkins/jobs/PublishNotification_Jenkinsfile

src/test_workflow/perf_test/perf_test_runner.py

src/assemble_workflow/dists.py

...rc/test_workflow/test_recorder/test_result_data.py

tests/jenkins/jobs/DetectDockerImage_Jenkinsfile

src/system/config_file.py

src/test_workflow/test_args.py

src/test_workflow/test_component.py

src/test_workflow/perf_test/perf_test_cluster.py

...RunBwcTestScript_OpenSearch_Dashboards_Jenkinsfile

... and 193 more

Continue to review full report at Codecov.

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


MNT: rerender

Hi! This is the friendly automated conda-forge-webservice.
I've started rerendering the recipe as instructed in #107.
If I find any needed changes to the recipe, I'll push them to this PR shortly. Thank you for waiting!
Here's a checklist to do before merging.

[ ] Bump the build number if needed

Fixes #107

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.


Make it possible to disable the music.

Acceptance Criteria:

[x] Have a button in the Lobby to disable the lobby music.

done as acceptance criteria is met


JBPM-4714: select random user from the case roles

Changes required after discussion with @krisv in the BZ https://bugzilla.redhat.com/show_bug.cgi?id=1257975

merged into master and 6.3.x


on click deep link it taking me to browser every time from Teams desktop App

This is the current behaviour for deeplinks within the tabs. We are working on improving this experience.

Please have a look at Deep linking from your tab documentation. Please use latest Microsoft Teams JavaScript client SDK.
To trigger a deeplink from your tab you should call:
microsoftTeams.executeDeepLink(/*deepLink*/);


Refactor

Coverage decreased (-0.08%) to 72.253% when pulling 211fd2baf31f116d7cdb9de5dfe611399ed42896 on raphink:refactor into f1defb069883311ec2febd3248457d529a03ec2e on hercules-team:master.


IEN-300 | seed applicants for cypress tests

All data is generated by fakejs, so I believe they won't conflict with real-world data.
I didn't edit the insert query. Applicant data is created by backing up the table.

All data is generated by fakejs, so I believe they won't conflict with real-world data. I didn't edit the insert query. Applicant data is created by backing up the table.

Sounds great, Please go ahead and merge it.


Feature request: Specify custom AMI when launching SLURM jobs

I know this sounds really weird, but I woud like to have an option to specify an AMI to be used when launching a job via SLURM. I assume it's just a question of modifying some parameter when using the EC2 API, so it should be possible, but I could be mistaken.
The use case for this is to be able to have an immutable environment for the compute nodes. For example, you want to run some jobs with a particular stack and other jobs with another, different stack. The exact dependencies and versions of these stacks also change frequently, so it isn't feasible to update the pcluster configuration over and over again, while having a single AMI that grows larger and larger.
I am aware this is a problem that can be entirely solved client-side via docker, but only to a point -- if the docker images grow too large and the amount of compute nodes too high, this is no longer a feasible approach. For example, while using AWS EC2, I get 10 MB/s download speed when running docker pull, which is just too slow when the image is 10GB large. And it's also really wasteful, downloading the same image over and over again, when it could just be baked in the AMI. Hence this feature request.

Hi @srdecny
ParallelCluster permits to configure a different CustomAmi for each queue.
At pcluster update you could update only the AMIs of the queues you want to change.
It's also possible to use the QueueUpdateStrategy option to automatically DRAIN your compute nodes after the cluster update, when they complete the running jobs.
An alternative solution is to use a different OnNodeConfigured custom bootstrap script for each queue, rather than using different CustomAMIs.
You can update the bootstrap script directly from S3 and all the new nodes will use it, without requiring a cluster update.
Let us know if this helps.
Enrico

@enrico-usai
Ideally, I would be able to run a job with some AMI and then run another job with another AMI, without having to mess around with the pcluster config in between. I am aware of the postinstall script, but that isn't really feasible when installation of the dependencies takes e.g. tens of minutes.

@srdecny we do understand the use case and we will account for your precious feedback in future iterations. However with the current design we want to guarantee a certain degree of homogeneity and reproducibility for jobs that land in the same partition. For that we don't really allow the selection of per job features but rather let you configure multiple partitions that can satisfy heterogenous use cases.
To reduce the number of AMIs you'd require have you considered installing the software in a shared storage so that you don't need to create specialized AMI every time? This should also reduce the effort coming from managing many different AMIs.


chore: remove husky scripts

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


Resparsify adroit hand envs

Description
The previous version of d4rl sparse envs gave a small reward for almost solving the env, and a larger reward for completely solving it. This caused issues where agents tended to exploit the reward structure by staying in configurations where it could perpetually collect the small reward, resulting in a low success rate outright.
This sparsification results in the environment only giving a reward of 1.0 when the environment is solved, and a reward of 0.0 otherwise.

Hi @rodrigodelazcano , the environment doesn't end after a long time when the truncation time limit is already reached I think. I'm not sure why this is happening. Should I modify this in the init.py? I have tried to run algorithms with the environment "HandReach-v1" with max_episode_steps=50 defined in the  init.py. But the environment keeps going after 16000 time-steps (shown at the corner of the mujoco render window).


Only publish release variants

Closes #1150

Looks good to me. Should we also add support for running minified unit tests in this PR. I suspect we could do it easily through a gradle property we can inject on Jenkins but otherwise just default to the current behavior?

Yes that sounds like a good idea. I will give it a try.


feat: (WIP) basic expo-router implementation

This is a work in progress, do not merge.  Just adding here to get some feedback.
I have a basic implementation of expo-router support.  Originally I was playing around with just wrapping TabView as I posted on X, but parbez pointed me in the direction of this https://github.com/EvanBacon/expo-router-layouts-example which is a much better solution.
However withLayoutContext isn't well documented, it's taking four generic params however all the examples from the expo-router-layouts-example repo only have two! I believe I have the types of withLayoutContext figured out, however it seems the types of react-native-bottom-tabs/react-navigation are kinda messed up at the moment.  I'm not 100% it isn't just me, however the exported types don't seem to work.
Anyways, in order to bypass the left-hook check to push to this branch, I am importing NativeBottomTabNavigationOptions from where it should be imported from, but it's not working.  If you uncomment the line // import { BottomTabNavigationOptions } from '@react-navigation/bottom-tabs'; and use that as the first argument of withLayoutContext, all the typing works perfectly (assuming that bottom-tabs and react-navigation-bottom-tabs have the exact same api).
I am opening this PR for comments on the type issue I'm facing along with the structure of where this should be located in the project.  I stuck it in src/expo-router for now.  Also, it might be worth thinking about how or if we should integrate expo/expo-router into the example app / create another app in the monorepo for expo?
I'm also going to just dump the code here for easier testing.  If you have an expo-router based project, just copy this somewhere into your project and then in a _layout.tsx just import it and use it like you would Tabs, Stack or Slot.
import { withLayoutContext } from 'expo-router';

import {
  createNativeBottomTabNavigator,
  NativeBottomTabNavigationEventMap,
  NativeBottomTabNavigationOptions,
} from 'react-native-bottom-tabs/react-navigation';

// This should be imported from react-native-bottom-tabs/react-navigation which is
// exporting NativeBottomTabNavigationOptions but the types seem to be broken at
// at the moment..
import { BottomTabNavigationOptions } from '@react-navigation/bottom-tabs';

import type {
  ParamListBase,
  TabNavigationState,
} from '@react-navigation/native';

const { Navigator } = createNativeBottomTabNavigator();

export const NativeTabs = withLayoutContext<
  BottomTabNavigationOptions,
  typeof Navigator,
  TabNavigationState<ParamListBase>,
  NativeBottomTabNavigationEventMap
>(Navigator);

example _layout.tsx
import { NativeTabs } from "@/components/TabNavigator";

export default function Index() {
  return (
    <NativeTabs>
      <NativeTabs.Screen name="index" options={{ title: "Yolo" }} />
      <NativeTabs.Screen name="new" options={{ title: "OOOH, SHINY" }} />
    </NativeTabs>
  );
}

Hey, thanks for working on this @EvanBacon created this repo https://github.com/EvanBacon/expo-router-react-native-bottom-tabs showcasing how to use it with Expo Router.
I think this should be added to the docs, in the Expo router section and no changes should be required on the library side:
import { withLayoutContext } from "expo-router";
import { createNativeBottomTabNavigator } from "react-native-bottom-tabs/react-navigation";

export const Tabs = withLayoutContext(
  createNativeBottomTabNavigator().Navigator
);

Hey, thanks for working on this @EvanBacon created this repo https://github.com/EvanBacon/expo-router-react-native-bottom-tabs showcasing how to use it with Expo Router.
I think this should be added to the docs, in the Expo router section and no changes should be required on the library side:
import { withLayoutContext } from "expo-router";
import { createNativeBottomTabNavigator } from "react-native-bottom-tabs/react-navigation";

export const Tabs = withLayoutContext(
  createNativeBottomTabNavigator().Navigator
);

Yeah that's a good option to just document it, that snippet is pretty clear and concise..  However, I'm still having issues with the types, I'm getting Could not find a declaration file for module 'react-native-bottom-tabs/react-navigation'. '/Users/mhamilton/Documents/code/cobbler/node_modules/react-native-bottom-tabs/lib/commonjs/react-navigation/index.js' implicitly has an 'any' type.ts(7016)
on the import of createNativeBottomTabNavigator, and thus the Tabs and Tabs.Screen component props aren't typed when using it. I suppose that's another issue, but just wondering if it's maybe just me somehow having issues with the types?

Ignoring the weird import path (🤷), this seems to be required to fully type all the props (screenOptions, options, etc)
import { withLayoutContext } from "expo-router";

import { createNativeBottomTabNavigator } from "react-native-bottom-tabs/lib/typescript/commonjs/src/react-navigation";

import type {
  NativeBottomTabNavigationEventMap,
  NativeBottomTabNavigationOptions,
} from "react-native-bottom-tabs/lib/typescript/commonjs/src/react-navigation";

import type {
  ParamListBase,
  TabNavigationState,
} from "@react-navigation/native";

export const NativeTabs = withLayoutContext<
  NativeBottomTabNavigationOptions,
  ReturnType<typeof createNativeBottomTabNavigator>["Navigator"],
  TabNavigationState<ParamListBase>,
  NativeBottomTabNavigationEventMap
>(createNativeBottomTabNavigator().Navigator);

Looks like there is an issue with types in general. I'm going to look into this tomorrow

What if expo-router is made an optional dep? A simple Tabs export could be good for UX.

What if expo-router is made an optional dep? A simple Tabs export could be good for UX.

In the long run it should be the other way around, where Expo Router adds this small export from their package as they do for every navigator.
I will create a docs page soon so this will be better documented.

Added this to docs: https://okwasniewski.github.io/react-native-bottom-tabs/docs/guides/usage-with-expo-router.html


fix doc conflict regarding postStart

Fix the documentation conflict regarding postStart on the page - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-states
Current observed behavior is documented here -
https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/#discussion
The Container’s status is not set to RUNNING until the postStart handler completes.
Fixes issue #17795

signed the CLA.

/check-cla

@rajattrt thanks for proposing this! Once Prow can see that you've signed the CLA, we'll be glad to take a look.

/check-cla

assigning @sftim since he is already engaged on this.
/assign @sftim


Not fully functional on touch enabled devices (iPad)

Tested on an iPad Air (iOS 9.3):
In testing the multiselect example at: http://adityasharat.github.io/angular-chosen/, two issues arise:

When the select dropdown is in focus, you can only tap one option to select at a time. To select additional options, you must close the dropdown and lose focus, then focus again to select another option.

When the select dropdown is open, you are unable to scroll through options list with the usual finger swipe.

However, the above does not prevent the user from making selections if they know what they are looking for. The type ahead search and select via the on screen keyboard works fine.

Hi @chrisjmartini,
First of all, I'm sorry, but it seems you are referring to another lib, You probably opened an issue at the wrong repo.
Well, even though it's another lib, I'm almost sure that this is a chosen well known issue with their library by itself.
You should follow this issue...

My Apologies! Someone sent me both the github a demo page links and it looks like they confused the two.


[INLONG-7004][Manager] Support to creating schema of StreamSource by JSON

Prepare a Pull Request

Fixes #7004

Motivation
Support to creating schema of StreamSource and StreamSink by JSON
Modifications
Support to creating schema of StreamSource and StreamSink by JSON

@fuweng11 please add related UTs.

@fuweng11 please add related UTs.

OK

@fuweng11 Please fix UT error
 SortServiceImplTest.prepareAll:250->prepareCluster:342 » DuplicateKey
### Error updating database.


v0.1.5 has many differences with main branch

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Actual behavior
A clear and concise description of what happened.
Screenshots
If applicable, add screenshots to help explain your problem.
Package versions

React:
React Native:
React Native Reanimated:
React Native Hold Menu:
Expo:

Additional context
Add any other context about the problem here.

@enesozturk could you release new version?

he didn't response for this library abount 6 months, seem need more times to waiting

@fukemy there is recent response in #97

i leaved this project, I worked for a company then I can not wait 8 months for a lib. Just say good luck for other people who using this lib


added connections count getters

There is now an acquire and release event on the pool, which would fit what you described and there was never really any response to my last comment. If you still think there is a use-case, please feel free to open a new PR based on the current release, and be sure to include docs & tests which are missing from this PR.


Update gitservers event listener name and add label

Is your feature request related to a problem? Please describe.
Currently, the naming convention for event listeners includes an edp prefix which might not be universally applicable or necessary. Additionally, there is a need for better identification and categorization of resources through labels.
Describe the solution you'd like

Remove the edp prefix from event listeners to make the naming convention more generic and applicable across different contexts.
Add a new label app.edp.epam.com/gitServer with the name of the git server to improve resource identification and categorization.

Describe alternatives you've considered
N/A
Additional context
This update aims to enhance the configurability and usability of the event listeners by making the naming convention more universally applicable and improving resource categorization through labels.

related issue https://github.com/epam/edp-codebase-operator/issues/83


Add another example for better clarity

I might have a problem with understanding the provided example, it is not entirely clear to me how to write to the properties file. Based on my understanding, I came up with the following pipeline:
jobs:
- name: job1
  plan:
  - get: source-repo
    trigger: false
  - task: get-version
    config:
      platform: linux
      image_resource:
        type: registry-image
        source:
          repository: node
          tag: 16
      inputs:
      - name: source-repo
      run:
        path: sh
        args:
        - -cx
        - |
          mkdir keyvalout
          echo tag=123 > keyvalout/keyval.properties
  - put: keyval
    params:
      file: keyvalout/keyval.properties
- name: job2
  plan:
  - in_parallel:
    - get: keyval
      passed: [job1]
  - task: list-files
    config:
      platform: linux
      image_resource:
        type: registry-image
        source:
          repository: node
          tag: 16
      inputs:
      - name: source-repo
      run:
        path: sh
        args:
        - -cx
        - |
          ls -lah keyvalout
          cat keyvalout/keyval.properties

...but the keyval-resource doesn't work giving me this error:
reading input file /tmp/build/put/keyvalout/keyval.properties
2021/08/18 16:40:12 open /tmp/build/put/keyvalout/keyval.properties: no such file or directory

I'm pretty sure the resource works, I'm just not able to use it correctly with the example provided.

I also have the same issue. But this project seems not to be supported yed :(

Unfortunately yes, this project is no more maintained.
But the Cloud Foundry community and I are maintaining a bunch of Concourse resources, and the gstackio/keyval-resource now supersedes this one.
The new resource uses plain files for storing key-values, which turns out to be much more convenient compared with the java .properties file format.
If you could give it a try gstackio/keyval-resource and share feedback there that would be sweet, thanks!


add moveable labels for data flows and trust boundaries

Describe what problem your feature request solves
The labels for data flows and trust boundaries can not be moved, and may conflict on the diagram
Describe the solution you'd like
Ability to move the data flow and trust boundary labels, as they may coincide
Additional context
User feedback "Labels for flows and boundaries are not movable, for example it can be not clear whether the label applies to a dataflow or a boundary"

with the drawing package antv/x6, we can not move the labels for edge components such as the data flow or trust boundary curve : https://x6.antv.antgroup.com/api/model/edge
we have to close this as won't do


Switch isn't working properly.

The switch view doesn't work correctly:
switch.setOncheckListener(new OnCheckListener() {
        @Override
        public void onCheck(boolean isChecked) {
            System.out.println("isChecked = "+ switch.isChecked());
            Toast.makeText(getActivity(), "Switch status = "+isChecked, 0).show();
        }
    });

1- When you drag with the finger to check or uncheck, it works ok. (it shows a toast)
2- When you click the circular part of the switch, the animation starts and it seems that the switch has changed its state, but the toast is not shown.  (Error?)
3- When you click the No circular part of the switch, the animation starts and the toast is shown.

I have the same error, check to uncheck work event listener work fine but uncheck to check no work.


The method for providing platform translations has changed in Home Assistant Core

The method for providing platform translations has changed in Home Assistant Core, and this integration needs to be updated.
Details can be found in https://developers.home-assistant.io/blog/2024/03/05/platform_entity_translations_deprecation

https://github.com/AlexxIT/YandexStation/releases/tag/v3.14.0


[Feature Request] Image Preview Interface Add Small Preview Set

Existing Component
是
Component Name
image
Description
在image组件大图预览功能能否加入全部图片预览功能并且能点击切换

Sorry, we have no plan to support this.


Mass Mapping Challenge cool results and plots!

We will use this issue to document any cool results and plots that participants produce in the galaxy image challenge. Feel free to post a plot, short description, and even better a link to a notebook, if you have some exciting results to share!


[build-presets] No need to disable static stdlib

What's in this pull request?

Static stdlib builds are disabled unless --build-swift-static-stdlib is explicitly passed in to the build scripts. As a result, --build-swift-static-stdlib=0 is pointless--unless it's being used to counteract another --build-swift-static-stdlib being passed to the build script, but this is not the case in any of the uses in the build presets.
Remove the unnecessary parameters to make the build presets easier to understand.
Resolved Related bug number: (SR-237)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci Please test

Oh wow, how embarrassing--I must have accidentally pushed to the main repository instead of my fork... sorry!! I'll delete the branches on the apple/swift repository and issue these from my fork instead. Thanks for pointing this out! :bow:

Re-submitted (and rebased) as https://github.com/apple/swift/pull/1765. Sorry about the confusion!!

No worries!


Invalid proof presentation when requesting revocable and non-revocable credentials

When requesting a proof presentation that contains two attribute groups, one from a revocable credential definition and one from a non-revocable definition, if the check for revocation is requested for all attributes, the proof is always invalid, even if the revocable credential is still active.
"presentation_request": {
        "nonce": "1104330525903017641791888",
        "name": "twoCredCheck",
        "version": "1.0",
        "requested_attributes": {
          "attrGrp_0": {
            "names": [
              "one",
              "two"
            ],
            "restrictions": [
              {
                "cred_def_id": "5vT6qtd26Rc9huD4tL2cXm:3:CL:8055:rev"
              }
            ]
          },
          "attrGrp_1": {
            "names": [
              "one",
              "two"
            ],
            "restrictions": [
              {
                "cred_def_id": "5vT6qtd26Rc9huD4tL2cXm:3:CL:8055:non"
              }
            ]
          }
        },
        "requested_predicates": {},
        "non_revoked": {
          "to":<PHONE_NUMBER>
        }
      },
      "state": "request_sent"

During verification, “non_revoc_intervals” is not empty, but there is no timestamp for the non revocable attributes (indy/verifier.py).
if (timestamp is not None) ^ bool(non_revoc_intervals.get(uuid))
Error:
aries_cloudagent.indy.sdk.verifier ERROR Presentation on nonce=79516549657105118470684 cannot be validated: Timestamp on sub-proof #1 is missing vs. requested attribute group attrGrp_1
"results": [
    {
      "updated_at": "2022-03-03T10:00:04.820234Z",
      "connection_id": "e144d8a6-7996-446c-b61a-e80a0b440de5",
      "auto_present": false,
      "thread_id": "e3ac25cf-59e0-4e0d-90e3-0d85253143f5",
      "created_at": "2022-03-03T09:57:51.268109Z",
      "presentation_request": {
        "nonce": "1104330525903017641791888",
        "name": "twoCredCheck",
        "version": "1.0",
        "requested_attributes": {
          "attrGrp_0": {
            "names": [
              "one",
              "two"
            ],
            "restrictions": [
              {
                "cred_def_id": "5vT6qtd26Rc9huD4tL2cXm:3:CL:8055:rev"
              }
            ]
          },
          "attrGrp_1": {
            "names": [
              "one",
              "two"
            ],
            "restrictions": [
              {
                "cred_def_id": "5vT6qtd26Rc9huD4tL2cXm:3:CL:8055:non"
              }
            ]
          }
        },
        "requested_predicates": {},
        "non_revoked": {
          "to":<PHONE_NUMBER>
        }
      },
      "state": "verified",
      "verified": "false",
...

In the case of a proof containing only non-revocable credentials, including the non revocation interval does not cause the proof to be invalid, so the same behaviour would be expected in the first case and the interval should be ignored when checking non-revocable attributes.

I think we need to get this to work.  IMHO, we should require that all presentation requests include a revocation interval and that we make sure that we can handle a proofs sourced from (1) only revocable credentials, (2) only non-revocable credentials and (3) a combination of revocable and non-revocable credentials.  This would require a verifier to include a revocation interval, even if they don't care about revocation, but I think that is reasonable.  If someone really wants to work around that, they can.

@shaangill025 -- can you please look at this when you finish the current PQ work?  Perhaps you can get a bit of help (if needed) from @ianco to setup test cases for this.

Hmm...requiring a revocation interval in a proof request is a breaking change, so presumably that is not something we should do without careful consideration. I suppose we could do it at the ACA-Py level -- adding the revocation interval if not included.  A challenge with this is getting the wallets (other frameworks) to handle this consistently. That was a challenge in the past with Aries Framework .NET.  Probably we need to get these tests added to AATH to see how the interop is working.

three tests (as above) with the proof request having a revocation interval
three tests (as above) with the proof request not having a revocation interval

All should be possible.

I've added an integration test that demonstrates this issue, see PR https://github.com/hyperledger/aries-cloudagent-python/pull/1672
I'll take a look at what aca-py is doing ... the error message the aca-py logs is:
2022-03-17 17:14:45,831 aries_cloudagent.indy.sdk.verifier ERROR Presentation on nonce=838013515937407266142254 cannot be validated: Timestamp on sub-proof #1 is missing vs. requested attribute health_attrs
(health_attrs is from a non-revocable credential)

@swcurran  @mmoramartinez @andrewwhitehead
I've updated aca-py and added an integration test (see my PR referenced above) however now the proof is getting rejected by Indy (or Askar).  Can someone please verify that I'm not doing something wrong in either the integration test or my aca-py updates?

OK Upon some research there are a couple of options for how to request proof of non-revocation in a proof request:

non_revoked can be specified for the entire proof request
non_revoked can be specified for individual requested attributes or predicates

See https://hyperledger-indy.readthedocs.io/projects/sdk/en/latest/docs/design/002-anoncreds/README.html
So, if you ask for:
"presentation_request": {
    "requested_attributes": {
        "attrGrp_0": {
            "names": ["one","two"],
            "restrictions": [{...}]
        },
        "attrGrp_1": {
            "names": ["three","four"],
            "restrictions": [{...}]
        },
    }
    "requested_predicates": {},
    "non_revoked": {"to":<PHONE_NUMBER>}
}

... then both attribute groups need to prove non-revocation.  I don't think a non-revocable credential can be presented in this scenario.
However you can ask for:
"presentation_request": {
    "requested_attributes": {
        "attrGrp_0": {
            "names": ["one","two"],
            "restrictions": [{...}]
            "non_revoked": {"to":<PHONE_NUMBER>}
        },
        "attrGrp_1": {
            "names": ["three","four"],
            "restrictions": [{...}]
        },
    }
    "requested_predicates": {}
}

... and then you only need to prove non-revocation for the first group and not the second.
(You can also specify non_revoked at both the global and attribute levels, and the latter will override the former.)
So ...  this is all great in theory, but I don't think aca-py supports all these scenarios.  I've done some ad-hoc local testing and didn't get the expected results in some scenarios.
I'll update the integration test in this PR to be a bit more flexible to test the different non_revoked possibilities.
ALSO I think the current approach in aca-py is a bit problematic - we validate the received proof and "massage" it if it's not quite what we're expecting.  I suggest a better approach is - if we don't like the received presentation, we kick back a problem report to the prover, and we always try to verify the exact presentation received.
See the code here, which does all the pre-verify verifying and "massaging":  https://github.com/hyperledger/aries-cloudagent-python/blob/main/aries_cloudagent/indy/verifier.py

The challenge I see if that the person creating the Proof Request does not know in the general case if the person will respond with claims from revokable or non-revokable credentials.  IMHO, the proof validation process should still work.
The ideal I think is the verifier always ask for a revocation time, and if the user responds with a revokable credential, they must supply a proof-of-non-revocation, and if the user responds with a non-revokable credential, they don't supply the proof-of-non-revocation and it still verifies.
If the user responds without a proof-of-non-revocation for a revokable credential, the verification should fail.
I think that is what the manipulation by ACA-Py is trying to accomplish, because Indy/lower levels don't handle that. If the verifier requests a revocation time, and the holder responds with a non-revocable credential, the presentation request is adjusted to remove the revocation time so AnonCreds is happy.

I get what you mean about not changing it in ACA-Py, and instead reporting an error to the Verifier, but that doesn't help, as we don't know there is an issue until after we receive the Proof and see the revocation time/non-revokable credential quandary.  I think manipulating the proof-request in ACA-Py is the right way to go -- at least until the underlying AnonCreds function deals with the issue properly.
Now to get the rest of the community to do that as well :-).
FYI - the Aries RFC 0441 Indy Present Proof Best Practices might cover this -- I didn't read it thoroughly, but I believe it documents what Mr. Klump implemented in ACA-Py.

Lots of good info in this issue.  I think that the issue itself is resolved / understood and so I'm going to close this.  Any fixes needed to happen at the AnonCreds level -- below ACA-Py.  Ideally -- a fix would be to ignore the revocation interval info when the source credential for a presentation is non-revocable.


ORC output/input support

Ability to write output in ORC file format

Not planned at the moment, if anyone wishes to help write this it can be very helpful.

It's possible now with the new generic file input

readme does not mention anything about ORC

Add to your metric config file:
output:
  - dataFrameName: df
    outputType: File
    format: orc
    outputOptions:
      saveMode: Overwrite
      path: file.orc
     ....

Check out metric full sample config file

its not in the metric full sample config file?

We haven't documented all formats possible but the file output type allows sending arbitrary formats and parameters to spark as long as it's in your classpath.
You are welcome to add an orc example + documentation it would be great!


Allow using custom CA certificates

Summary
As "an operator"
I want "to use my custom CA bundle with K8up"
So that "I can use a trusted, verified TLS connection to my backup backend"
Context
To handle TLS connections that use a custom/self-signed CA as certificate issuer, we now create our own K8up container images that includes our own certificates. This allows us to have a verified connection to our S3 compatible backup backend.
We would prefer to have an option in the K8up container image itself to refer a custom CA bundle. This is supported in Restic via the --cacert flag.
Effectively, we want to appoint a CA bundle file via an env.var or config file for the K8s Pod.
Out of Scope

skip TLS or insecure TLS (#792)

Further links

#568 comparable but stale

Acceptance Criteria
No response
Implementation Ideas

Referring a CA cert via the Object specification
Golang's SSL_CERT_FILE variable

Just FYI; This is roughly how we build our a custom image now.
FROM registry.example.com/k8up-io/k8up:v2.7.1

USER root

RUN \
  apk add --no-cache openssl &&\
  /usr/bin/curl "http://pki.example.com/RootCACert.crt" |\
    /usr/bin/openssl x509 -inform DER -outform PEM -out /usr/local/share/ca-certificates/root.crt; \
  /usr/bin/curl "http://pki.example.com/intermediate.crt" |\
    /usr/bin/openssl x509 -inform DER -outform PEM -out /usr/local/share/ca-certificates/intermediate.crt; \
  /usr/bin/curl "http://pki.example.com/myissuer.crt" |\
    /usr/bin/openssl x509 -inform DER -outform PEM -out /usr/local/share/ca-certificates/myissuer.crt; \
  /usr/sbin/update-ca-certificates

USER 6553

Hi
We have the same problem with k8up and our s3 server runs as TLS with a self-sign certificate. We would like to use the feature for mounting certificate files.
I am interested in developing this feature. I'd like to add these features:

First, add options for using extraMount options to add certificate files
Second, add env (or s3 parse URI) for TLS insecure

Reference:
#792

@Kidswiss @tobru