Caching all symbols read from chunks

Summary
This MR adds a performance enhancement- caching all symbols read from a chunk. This was initially designed to benefit reading high-cardinality series (where a relatively small number of symbols would be referenced by many different series) but it seems this even improves performance for querying a single series.
Benchmark
A sample benchmark is provided for discussion purposes. It references a chunk from our production Prometheus instances that I have not included in this MR. This chunk contains two hours of data and many metrics- among them is bid_request_count, a metric with about 150K series.
Analysis
Query execution time improvement: 13-27% faster
Bytes alloc per query:  6%-10% less
Raw Output
Without caching all symbols:
GOROOT=C:\Program Files\Go #gosetup
GOPATH=C:\Users\james.luck\go #gosetup
"C:\Program Files\Go\bin\go.exe" test -c -o C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___6gobench_example_test_go.test.exe github.com/prometheus/prometheus/promql #gosetup
C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___6gobench_example_test_go.test.exe -test.v -test.paniconexit0 -test.bench ^\QBenchmarkCountSingleInstance\E|\QBenchmarkCountAll\E|\QBenchmarkCountSingleInstanceOver1h\E|\QBenchmarkCountAllOver1h\E$ -test.run ^$ -test.benchtime 45s -test.benchmem #gosetup
goos: windows
goarch: amd64
pkg: github.com/prometheus/prometheus/promql
cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
BenchmarkCountSingleInstance
Peak samples: 1545, Total samples: 772
Peak samples: 1545, Total samples: 772
Peak samples: 1545, Total samples: 772
Peak samples: 1545, Total samples: 772
BenchmarkCountSingleInstance-12                    14364           3713313 ns/op
          960977 B/op      13273 allocs/op
BenchmarkCountAll
Peak samples: 311715, Total samples: 155857
Peak samples: 311715, Total samples: 155857
BenchmarkCountAll-12                                  63         714498584 ns/op
        203373190 B/op   2651373 allocs/op
BenchmarkCountSingleInstanceOver1h
Peak samples: 1545, Total samples: 92640
Peak samples: 1545, Total samples: 92640
Peak samples: 1545, Total samples: 92640
BenchmarkCountSingleInstanceOver1h-12               7848           6283421 ns/op
         1324687 B/op      14101 allocs/op
BenchmarkCountAllOver1h
Peak samples: 311715, Total samples: 18700202
Peak samples: 311715, Total samples: 18700202
BenchmarkCountAllOver1h-12                            38<PHONE_NUMBER> ns/op
        275807519 B/op   2808082 allocs/op
PASS

Process finished with the exit code 0

With caching all symbols:
GOROOT=C:\Program Files\Go #gosetup
GOPATH=C:\Users\james.luck\go #gosetup
"C:\Program Files\Go\bin\go.exe" test -c -o C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___6gobench_example_test_go.test.exe github.com/prometheus/prometheus/promql #gosetup
C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___6gobench_example_test_go.test.exe -test.v -test.paniconexit0 -test.bench ^\QBenchmarkCountSingleInstance\E|\QBenchmarkCountAll\E|\QBenchmarkCountSingleInstanceOver1h\E|\QBenchmarkCountAllOver1h\E$ -test.run ^$ -test.benchtime 45s -test.benchmem #gosetup
goos: windows
goarch: amd64
pkg: github.com/prometheus/prometheus/promql
cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
BenchmarkCountSingleInstance
Peak samples: 1545, Total samples: 772
Peak samples: 1545, Total samples: 772
Peak samples: 1545, Total samples: 772
Peak samples: 1545, Total samples: 772
BenchmarkCountSingleInstance-12                    17977           2917263 ns/op
          872657 B/op       7096 allocs/op
BenchmarkCountAll
Peak samples: 311715, Total samples: 155857
Peak samples: 311715, Total samples: 155857
Peak samples: 311715, Total samples: 155857
BenchmarkCountAll-12                                  98         541630717 ns/op
        184982530 B/op   1403638 allocs/op
BenchmarkCountSingleInstanceOver1h
Peak samples: 1545, Total samples: 92640
Peak samples: 1545, Total samples: 92640
Peak samples: 1545, Total samples: 92640
BenchmarkCountSingleInstanceOver1h-12               9118           5558946 ns/op
         1235009 B/op       7923 allocs/op
BenchmarkCountAllOver1h
Peak samples: 311715, Total samples: 18700202
Peak samples: 311715, Total samples: 18700202
BenchmarkCountAllOver1h-12                            43<PHONE_NUMBER> ns/op
        257784993 B/op   1560519 allocs/op
PASS

Process finished with the exit code 0

I believe the point of the current design is to balance peak memory usage against speed.
Can you show the peak memory of your two benchmark cases?

Hey @bboreham thanks for the insight. Go isn't my primary language- is there an easy way to measure what you're after? I checked the go test flags and saw nothing around peak memory usage.

On Linux /bin/time will give you the peak memory.
Another option would be to set the environment variable GODEBUG=gctrace=1 which prints out statistics on every garbage-collect, and inspect by eye where the peak is.
Yet another option would be to add at the end of your test:
	var memstats runtime.MemStats
	runtime.ReadMemStats(&memstats)
	b.ReportMetric(float64(memstats.Sys), "sys_memory")

(There is some chance that the Go runtime will have handed memory back to the OS before this runs, but for a short test I wouldn't expect it)
Incidentally if you use the ReportMetric function instead of Printf then your output will be a bit tidier.
	if n == 0 {
		b.ReportMetric(float64(q.Stats().Samples.PeakSamples), "peak_samples")
		b.ReportMetric(float64(q.Stats().Samples.TotalSamples), "total_samples")
	}

Thanks for the tips, I went with the ReadMemStats approach and have pushed an updated version of the benchmark. The results show peak memory usage is lower with my change.
Baseline:
GOROOT=C:\Program Files\Go #gosetup
GOPATH=C:\Users\james.luck\go #gosetup
"C:\Program Files\Go\bin\go.exe" test -c -o C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___1gobench_cache_symbols_test_go.test.exe github.com/prometheus/prometheus/promql #gosetup
C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___1gobench_cache_symbols_test_go.test.exe -test.v -test.paniconexit0 -test.bench ^\QBenchmarkCountSingleInstance\E|\QBenchmarkCountAll\E|\QBenchmarkCountSingleInstanceOver1h\E|\QBenchmarkCountAllOver1h\E$ -test.run ^$ -test.benchtime 45s -test.benchmem #gosetup
goos: windows
goarch: amd64
pkg: github.com/prometheus/prometheus/promql
cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
BenchmarkCountSingleInstance
BenchmarkCountSingleInstance-12                    17674           2880361 ns/op
              1545 peak_samples   41761448 sys_memory          772.0 total_sampl
es        879595 B/op       7097 allocs/op
BenchmarkCountAll
BenchmarkCountAll-12                                  97         545361978 ns/op
            311715 peak_samples  362651336 sys_memory       155857 total_samples
        186201756 B/op   1403854 allocs/op
BenchmarkCountSingleInstanceOver1h
BenchmarkCountSingleInstanceOver1h-12               8211           5587753 ns/op
              1545 peak_samples  362651336 sys_memory        92640 total_samples
         1251706 B/op       7927 allocs/op
BenchmarkCountAllOver1h
BenchmarkCountAllOver1h-12                            43<PHONE_NUMBER> ns/op
            311715 peak_samples  376868152 sys_memory     18700202 total_samples
        260490145 B/op   1560987 allocs/op
PASS

Process finished with the exit code 0

With my change:
GOROOT=C:\Program Files\Go #gosetup
GOPATH=C:\Users\james.luck\go #gosetup
"C:\Program Files\Go\bin\go.exe" test -c -o C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___1gobench_cache_symbols_test_go.test.exe github.com/prometheus/prometheus/promql #gosetup
C:\Users\james.luck\AppData\Local\JetBrains\GoLand2023.1\tmp\GoLand\___1gobench_cache_symbols_test_go.test.exe -test.v -test.paniconexit0 -test.bench ^\QBenchmarkCountSingleInstance\E|\QBenchmarkCountAll\E|\QBenchmarkCountSingleInstanceOver1h\E|\QBenchmarkCountAllOver1h\E$ -test.run ^$ -test.benchtime 45s -test.benchmem #gosetup
goos: windows
goarch: amd64
pkg: github.com/prometheus/prometheus/promql
cpu: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
BenchmarkCountSingleInstance
BenchmarkCountSingleInstance-12                    14420           3766871 ns/op
              1545 peak_samples   41761448 sys_memory          772.0 total_sampl
es        969158 B/op      13275 allocs/op
BenchmarkCountAll
BenchmarkCountAll-12                                  73         752897966 ns/op
            311715 peak_samples  389749672 sys_memory       155857 total_samples
        204536969 B/op   2651493 allocs/op
BenchmarkCountSingleInstanceOver1h
BenchmarkCountSingleInstanceOver1h-12               7291           6506170 ns/op
              1545 peak_samples  389749672 sys_memory        92640 total_samples
         1342987 B/op      14105 allocs/op
BenchmarkCountAllOver1h
BenchmarkCountAllOver1h-12                            40<PHONE_NUMBER> ns/op
            311715 peak_samples  417089672 sys_memory     18700202 total_samples
        278489576 B/op   2808500 allocs/op
PASS

Process finished with the exit code 0

Thanks for the tips, I went with the ReadMemStats approach and have pushed an updated version of the benchmark. The results show peak memory usage is lower with my change.

I would guess there is some point at which we don't want to cache every string in heap, for the lifetime of a block.
Napkin math: suppose someone has stored a million different GUIDs in a label. That's 36 bytes of content plus 16 bytes of header, plus some overhead, call it 64 bytes each, so 64MB, which Go will double to 128MB for GC.  Say you have one block for each day going back 15 days is 2GB.
It doesn't sound out of the question.
Let's see what prombench says:
/prombench main

/prombench main

/prombench cancel

Looks like memory is 15-20% higher.

Hey @bboreham, thanks for the analysis. One thing: I'm seeing lower memory consumption when I look at the "Used" node metric:

Hello again!  This came round again at the bug-scrub.
We discussed in detail; I apologise my previous comment was in error:

to pre-emptively read every string from every block

Your PR only adds to the cache when a value is loaded.
However I am still concerned about extreme cases, e.g. a block with 100 million values which are examined to match a regexp.  Given over a million installations of Prometheus, I don't think we can make such a change without some guard.
Perhaps a limit on the size of nameSymbols?  Or a feature-flag so people could enable selectively.
(Incidentally nameSymbols is a misnomer after this change, since it would contain both names and values.)


Install packages with pip

conda-manager can list and remove packages installed with pip, but can not install them.
See https://github.com/spyder-ide/spyder/issues/3280

:+1:
http://stackoverflow.com/questions/12332975/installing-python-module-within-code

BTW you'll need to handle proxies...

👍


Update tab focus state

The ‘tab styling’ is currently applied to the link, with the list item doing very little in terms of presentation.
This is problematic when it comes to presenting the focus state, which we want to be tight around the tab text, and thus visually smaller than the tab. Our current approach, which creates the focus state using an ::after pseudo-element, doesn't render correctly in IE 11.
By moving the tab styling to the list item, we can then make the link element smaller, and use an ::after pseudo element to make the target area for the link fill the entire tab (the 'pseudo-content trick').
This also:

generally tidies up the Sass a bit
removes an unused aria-current ruleset in the Sass
simplifies the focus state as we can just use the default link styles for IE8 as we do for accordions
avoids setting the font on the entire tab panel content (it was being set on govuk-tabs)
matches the tab colour to the background colour of the page rather than hardcoding to white
tears down and restores the aria-selected attribute when moving to and from mobile

Fixes #1472. I suggest reviewing commit-by-commit.
Screenshots

Chrome (macOS)

Safari (macOS)

Firefox (macOS, custom colours)

IE 8

IE 9

IE 10

IE 11

Suggested release note:

Update the markup for tabs
You do not need to do anything if you're using Nunjucks macros.
If you are not using the Nunjucks macros, remove the govuk-tabs__tab--selected from the first tab's link, and add the new class govuk-tabs__list-item--selected to its parent list item instead.

  Tab 1

Rebased and release note added.


Help with .bat files

Can anyone please explain to me how to create the .bat files, and also why admin removed it?
Thanks

also do you have a discord i can contact you on? @MaxXor

They don't work anymore.


Add a guide to execute the vee-validate docs locally. A fix to #1590

I found a little issue while trying to run vuepress, it would show an error from a missing file. Then I found out that I needed to run npm run build:esm the avoid this error.
Well it might help other people in the future.

Much appreciated! Thanks!


Replace bn.js with BigInt

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] Commit messages follow the conventional commits spec
[ ] If this is a code change: I have written unit tests.
[x] If this changes code in a published package: I have run pnpm changeset to create a changeset JSON document appropriate for this change.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Reduce amount of dependencies.
Test Plan

Related issues/PRs

https://github.com/near/near-api-js/pull/1217
https://github.com/near/near-api-js/issues/1200

How is that a test is not catching problems here? for example, the change of BN(10).exp(24) to BigInt(10**24) should have broke a bunch of stuff (since it is in the utils.js module, that every other module uses).
Wrongly changing it to BigInt(10**24) ==<PHONE_NUMBER>99999983222784n should have broke a lot of tests... or is that we do not have tests for this?

Hey @gagdiez , this PR is ready for review. Merging is blocked until you approve it because you requested changes.

@gtsonevv
I am still puzzled about the tests, and why they didn't fail. Specially on the format file.
We need to find an explanation, and add more tests if necessary.
If I am being picky with this PR is because a rounding error could lead to real people losing real money.

Delaying the merge of this PR intentionally, because we want to batch these breaking changes with other oustanding breaking changes, in order to not increment major versions unnecessarily.


Single point timeseries dataset marker is not shown.

Description
Single point timeseries chart displays an "apparently" empty chart.
Imagine a crowdfunding chart displaying pledge performance that has starting date A and end-date at B. On day one of the campaign (a), it may have at some point, only one entry (one pledge). That single point is not showing unless you hover the chart which displays the tooltip but not the marker.
Solution
Maybe we could center the point in the middle of the chart, so it's displayed, like google analytics does. But i'm open to some more clever tricks

Alternatives

Adding null values on the remaining days of this interval timeseries doens't solve.
Since it's limited timeseries example from a to b, Adding 0 values to the remaining points will create the visual effect, but it's uncorrectly saying that the performance decreased when in fact stayed the same. Saying that on day two, assuming a day avg, everything is well, because if no one pledge we have now two points for each day with the same amount and chart data is displayed.
(testing the abovementioned) If you tweak the demo to use 2 points and two days, the marker dots for each point will appear (although cropped)

Additional context

Here's a codepen adapted from your timeseries demo illustrating the problem.

Extra

If this doesn't make sense or is the expected behaviour feel free to close it
It looks like an edge case, but it happens in real-life scenearios
thanks for your time developing this 🙌

Good point (pun intended).
Area/Line charts usually require at least 2 data-points to connect and draw something. If there is just 1 data-point, area/line chart skips the drawing part.
So, to tackle the single point issue, we can conditionally convert the chart to scatter chart by checking if data.length === 1. Once, we have more than 1 data-point, we can switch to the area/line chart.
I have tried to mimic this behavior by tweaking some values. It's a very rough example, but it should give you a starting point to handle such scenarios.
Example - https://codepen.io/apexcharts/pen/REowPj
In the example, try adding one more item in the data array, and it will switch to the area chart.
Hope that helps!

No worries at all. Glad the workaround helped :)

Hello, this issue could happen. I sort of working with series, which by timeline not related with each other (eg. device data which read with very different time delays). And in some cases I have no any point at all (eg. I set single day, but specific device read only once per few days), sort of date filter set to too short time period, then I don't know how to draw just empty chart without any error, but could be good to have it.  For instance to draw empty chart, just then to load some data. Maybe I just don't know how.
Another thing about single point, as you write to move it to the center, what probably was already done. If i have several series, one of them with just single point, but other lines are good, with a lot of points, everything then getting pushed to the center and no healthy lines possible to see, only because of one line/serie, which only single point.
BTW. I done Lithuanian localisation for this nice chart. Could put it somewhere in some branch maybe?


update version number

I think this can be closed, since we are now at 0.8.19 on the dev branch (0.8.19 is the version that should be on the webstores next week)


Add BitArray and use it in OptimizeIndices

Booleans can be up to 4 bytes (depending on the JS engine and the scenario). A BitArray always uses just 1 bit per boolean, which means up to 32x less memory. Some light reading indicated that some JS engines will optimize Arrays that only contain booleans to use 1 bit per boolean, but this isn't what I saw happening when taking a few heap snapshots in Chrome (rather, I saw a ~5mb Array for a model with ~1.3M indices). Perf is pretty much identical between this BitArray and a normal Array of booleans, until you have 100,000,000+ entries, in which case the BitArray is orders of magnitude faster. Not sure we'll ever have a use case this big, so maybe irrelevant, but good to know its now slower.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/16012/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16012/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16012/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/16012/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/16012/merge
https://gui.babylonjs.com/?snapshot=refs/pull/16012/merge
https://nme.babylonjs.com/?snapshot=refs/pull/16012/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/16012/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16012/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16012/merge/testResults/webgl2playwright/index.html


Any plans to support support SpiceDb REST API interface in addition to GRPC?

It seems this client can only connect with SpiceDb over GRPC, however SpiceDb also exposes REST API (in addition to GRPC) - any plans to add REST API integration here?

Why might you end up choosing REST over GRPC for something that could be called as frequently as a permissions call?

To be honest I wanted to host SpiceDB on heroku which does not support GRPC yet (they are working on supporting end-to-end HTTP2 but it can take a year or something) and this is why I am asking. I am aware that GRPC is much faster and lightweight and it would be my first choice if it was possible.

I'm closing this for now. This is a project that can be up for grabs if you want to implement a layer between the service interface that can make the calls.  As for me it's just not something I have the time to implement.


Add ssl support

This PR is to extend ssl support to the logstash output plugin in the same way as it has been implemented in the logstash input plugin (see PR).
Use case: We are running logstash on clients in aws and using an Elasticache redis cluster as our transport to Elasticsearch. If we configure our elasticache to use in transit encryption, it can accept encrypted data from logstash. For our use case we're not concerned with certs.
Thanks for contributing to Logstash! If you haven't already signed our CLA, here's a handy link: https://www.elastic.co/contributor-agreement/

Also relates to Issue #44

Can we do anything to get this merged?  I have been using this for a while.

Let's suppose I need this for Logstash 6.8.2 to output in AWS ElastiCache Redis in a couple of weeks, can this PR be merged and can the plugin be published and integrated in Logstash? 🙂
Otherwise, I guess the official way to get this version of the plugin is to create a custom Logstash container image that builds and install this branch of the plugin.

@JPLachance that's what I have been doing for over a year waiting for this.

This support is required for my company to move to logstash. What’s the process for getting it in?

@Jrmcneil can you please merge your fix?


hover in 3d

Hi,
I think the hover effect (highlighting of elements on mouseover) doesn't work anymore in 3D graphs.
Furthermore, I receive the same number of toolbars as graphs are shown in a canvas.

Hi,

I think the hover effect (highlighting of elements on mouseover) doesn't work anymore in 3D graph

Depending from rendering time, I enabling or disabling this feature.
This typically happens when browser does not support webgl.
At the moment time limit is 1.4s. You could check in your browser console -
it shown there as "First render tm".

I receive the same number of toolbars as graphs are shown in a canvas.
Could be - we not yet finish with toolbar implementation.
I saw problem with other canvas and will fix it soon.

Regards,
Sergey

For me it does not work, although tm < 1.4s (webgl is supported).

For me it does not work, although tm < 1.4s (webgl is supported).
Do you mean TGeo drawings or TH2/TH3?

TH3, e.g. hsimple py vs px

You mean this:
http://jsroot.gsi.de/dev/?nobrowser&file=../files/hsimple.root&item=hpxpy;1&opt=lego
It works fine for both webgl / no-webgl cases.
That browser/OS do you have?

You mean this:
http://jsroot.gsi.de/dev/?nobrowser&file=../files/hsimple.root&item=hpxpy;1&opt=lego
Yes

I use Chrome on OSX (10.11.3)

I use Chrome on Windows (with webgl) and Linux (no webgl).
Both are ok.
Did you clean browser cache?

Yes, cache is cleared.
I just tried firefox, but it is too slow. Can you tell me the line in which the 1.4s is set? Than I can set it to higher values and test firefox again.

Here:
https://github.com/linev/jsroot/blob/master/scripts/JSRoot3DPainter.js#L75
Actually it is 1.2 sec.

Ah, ok. My Chrome was just a bit above 1.2s. When I set it to higher values, it works.
Thanks a lot.

Actually, I could increase this limit.
This was adjusted for my testing - my Firefox without webgl is slower (and disables this feature),
when my Chrome is typically faster and enables it. I could set it to 2 sec.


Updated file structure

please approve for merge

It's only the base structure that we went through together. I would eyeball it for now.


Closing pull request.


Add new states to context segment in README

Explains the states of the context segment in the README. Related to #898

Thanks so much for fixing the docs, @dritter, after our discussion in #898! Much appreciated.


Upgrade sidekicks

https://github.com/rancher/rancher/issues/7932

@mrajashree if this works, the code LGTM


EventHub SDK can't handle IotHub Connection String, so it doesn't support failover

It says to use IotHub connection string when using the EventHub client, in order to have disaster recovery support:
"When receiving telemetry messages from the built-in endpoint using either the Event Hub client or event processor host, you should use the IoT hub connection string to establish the connection."
But the EventHub client doesn't support it: https://github.com/Azure/azure-sdk-for-net/issues/7175

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

ID: a6874376-9df5-65b7-6908-eaaba67992d0
Version Independent ID: c76d243b-a9a0-d37d-6cc5-53eb1bf589d2
Content: Azure IoT Hub high availability and disaster recovery
Content Source: articles/iot-hub/iot-hub-ha-dr.md
Service: iot-hub
GitHub Login: @jlian
Microsoft Alias: philmea

@felipepessoto Thanks for the feedback. We are investigating the issue and will update you shortly.

Hello @felipepessoto
The comment on the reference thread Link: was it helpful?
the IoT Hub's Event-Hub-compatible endpoint for receiving device-to-cloud messages is fully Event Hubs compatible. For production environments, the recommended approach is to use Event Processor Host (EPH) as shown in the sample. An EPH makes your solution more robust: see https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-framework-getstarted-receive-eph
That tutorial also shows you how to set up the storage account.

Yes, but it says the opposite of what is in the doc.
The docs says to use the IoTHub connection string (not the "IoT Hub's Event-Hub-compatible endpoint") to be able to use disaster recovery.
If this comment is correct, then we need to change the docs, saying it is not possible to use disaster recovery when using the EventHub client

The context:
We cannot use the IoT Hub connection string directly in an EventHub client app to read events. We have to first fetch the EventHub connection string by using the IoTHub connection string.
Example:
 Console.WriteLine("Requesting Event Hubs connection string...");
 var eventHubsConnectionString = await IotHubConnection.RequestEventHubsConnectionStringAsync(IoTHubConnectionString);

If the above statement is correct, then we have to update/mention this clearly in our IoTHub-documentation

@felipepessoto Please confirm if this is what you are looking for?

Yes, it is correct. Would be nice if the SDK handle that automatically, but I understand it doesn't currently support it.
If we need to manually fetch the EventHub connection string, I would add how to handle failovers. How can I identify a failover happened (an specific Exception is thrown?), and what should I do in that case? Fetch the new EventHub connection string and recreate the EventHub client?
Thanks.

Thank you, all are great questions!!!, let me see if I can add those to my followup with the team.

Cool, thanks!

Hello @felipepessoto Just checking back over here, we will update you as soon as possible.

Hello @felipepessoto , Just giving an update here, the Microsoft Product Team is actively working on this, will keep you posted.

No worries, it is not a blocker. It is just to make sure I'm following the best practices.

Hi @SatishBoddu-MSFT, any updates?

Hello all, in response to the issue, the documentation is already updated, please refer the below information.
Initial Documentation: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr#cross-region-dr
Followed documentation: Manual failover and Event Hub

Hi @SatishBoddu-MSFT, I still have questions about it. Specially in this part you previous mentioned, it remains the same:

The context:
We cannot use the IoT Hub connection string directly in an EventHub client app to read events. We have to first fetch the EventHub connection string by using the IoTHub connection string.
Example:
 Console.WriteLine("Requesting Event Hubs connection string...");
 var eventHubsConnectionString = await IotHubConnection.RequestEventHubsConnectionStringAsync(IoTHubConnectionString);

If the above statement is correct, then we have to update/mention this clearly in our IoTHub-documentation

@felipepessoto Please confirm if this is what you are looking for?

When it says:
"you should use the IoT hub connection string to establish the connection. This ensures that your back-end applications continue to work without requiring manual intervention post failover"
It doesn't explain how to use IoTHub connection string with Event Hub client or event processor host. I was not able to achieve that using IoT Hub connection string.
A paragraph before it also says: "Once the failover operation for the IoT hub completes, all operations from the device and back-end applications are expected to continue working without requiring a manual intervention."
I'm not able to achieve that and can't find any doc explaining how to do it.

Hi @felipepessoto have you checked out this sample: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr#use-the-included-sample

@jlian, yes, I'm using that code, but it still requires application manual restart.
Should I keep pooling the method that translates the connection string and check if it has changed? And if it does restart the Event Hub Processor?

@jsquire would you be able to assist on this question as the author of the sample?

I'm happy to help as I'm able.  To start, I'd like to clarify that I can speak authoritatively to the Event Hubs SDK and general behaviors of the Event Hubs service.  There's not much that I can offer beyond informed suggestions and speculation for IoT Hub and its SDK.   I'm going to speak in terms of the current generation of the Event Hubs client library,  Azure.Messaging.EventHubs.  Conceptually, the same guidance applies to the legacy package as well, though the details will differ.
The Event Hubs client library doesn't have an awareness of IoT Hub nor any association that an Event Hubs namespace may have with it.  When an IoT Hub failover is initiated, the Event Hubs clients don't receive notification from Event Hubs and have no way of knowing directly.  My understanding is that IoT Hub will delete the primary Event Hubs namespace at some point after a failover, at which time the connection being used by the Event Hubs clients will fail.
Your best bet for detecting the scenario would either be through the IoT Hub SDK, assuming that it exposes that information.  Failing that, you would be able to detect it from the Event Hubs client by observing an EventHubsException being surfaced with its Reason being set to ResourceNotFound.   That approach would have some latency associated with it.  If you need to discover the failover more quickly than that, polling the connection string translation for a change seems to be your best approach.
Each Event Hubs client, including the EventProcessorClient is bound to a specific Event Hub at the time of its creation.  In order to react to the failover, you would need stop the current processor and create a new one pointing at the new Event Hub.   I would also very strongly recommend using a different storage container for ownership and checkpoint tracking as well.   So long as the namespace or Event Hub name of the new endpoint differs from the original, the same container would work but if you can't guarantee that, you risk being in a bad state that the processor is unable to recover from without manual intervention.

Thanks @jsquire.
@jlian I think it is important to have this information in the docs, I see many people with the same questions.
If IoTHub provide any way to detect the failover happened (programmatically) and the actions we need to take, restart the EHP, use a different storage account to the checkpoint.
For example, it doesn't mention if the secondary Event Hub will restart the sequence number from 0 or start from where the primary stopped. If it restarts the checkpoints to 0, it won't work and we need to create a new container to the checkpoints.
The way the docs currently is makes me assume all this process will be automatically when I use IoTHub connection string, but it doesn't.

For example, it doesn't mention if the secondary Event Hub will restart the sequence number from 0 or start from where the primary stopped. If it restarts the checkpoints to 0, it won't work and we need to create a new container to the checkpoints.

Event Hubs will have a different offset and sequence number for events;  even if IoT Hub is replicating data you can't safely assume that they'll be the same.  In the best case, you would have no checkpoints detected because the Event Hubs namespace and/or Event Hub name are different.
If that isn't the case, then we will attempt to read the existing checkpoints.   The best case outcome would be that your existing checkpoints are invalid, the processor state gets corrupted, and manual intervention is needed.
The worst case scenario we try to read your existing checkpoints and there is an event in the new Event Hub that has a matching offset.  We'll start reading from there -  but that isn't the event that we all think it is.   We'd be reading from an arbitrary point and you would either lose data or see repeats of events that you had already processed.


Unidentified developer message on catalina version of Mac

With the new version 10.15 some users have said: I can't open Stim because it is from an unidentified developer. This can be bypassed but adds to the list of the barrier of entry. It seems like the go binary can be signed and _ notarized_. http://www.dafscollaborative.org/macuidev.html

#boycottmac
How do other brew cli apps deal with this?  Feel like that process is overburdensome for normal CI/CD on github.  I assume the kubectl/vault/helm CLI's also have to deal with this somehow?


[SPARK-6994][SQL] Update docs for fetching Row fields by name

add docs for https://issues.apache.org/jira/browse/SPARK-6994

Can one of the admins verify this patch?

@vidma  thanks for doing this. Can you also update the Java portion of the doc?

regarding java-part of the docs, I guess it's more related to: https://github.com/apache/spark/pull/5754 that adds methods for each java primitive (and I didn't play much with java interop).

Ok I'm going to merge this. Thanks.


Facebook widget?

https://www.pcworld.com/article/240258/how_to_make_a_facebook_page_for_your_small_business.html?page=3


[Network] Add disableBgpRoutePropagation to Route Table create/update

Closes #4942.

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[X] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

Command Guidelines

[X] Each command and parameter has a meaningful description.
[N/A] Each new command has a test.

(see Authoring Command Modules)

View a preview at https://prompt.ws/r/Azure/azure-cli/4998
This is an experimental preview for @microsoft.com users.
(It may take a minute or two for your instance to be ready)
Email feedback to 'azfeedback' with subject 'Prompt Feedback'.

@troydai ping. GitHub wants your review as a code owner.


pkg/virtual/syncer/builder: fix incorrect comment

Fixes wrong order in a comment.
follow-up: https://github.com/kcp-dev/kcp/pull/1687

/lgtm
/approve
/override ci/prow/e2e-multiple-runs

/retest


Could you guys provide some tools to assist the production of powerpoint with artificial intelligence like chatGPT in the future.

As clerical workers, we really need artificial intelligence's assistance to change the world with higher efficiency.

Can you be more specific? I am working on some tools specifically for
clerical workers, receptionists and assistants.
On Fri, Feb 17, 2023 at 10:04 PM zhuwangshu @.***>
wrote:

As clerical workers, we really need artificial intelligence's assistance
to change the world with higher efficiency.
—
Reply to this email directly, view it on GitHub
https://github.com/openai/openai-cookbook/issues/145, or unsubscribe
https://github.com/notifications/unsubscribe-auth/A567NIUC2V3GKKZXZU5KUEDWYBQ7LANCNFSM6AAAAAAVAEZSJA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hey @zhuwangshu thanks for the suggestions, I think there are solutions out there that connect the OpenAI services and Powerpoint!


dial tcp: lookup public: no such host

When I am running "bacalhau get 93de7e27-f7ef-4526-8582-bed783c0cbc7", the command always returns with following error -
error downloading job: Get "http://public:6001/e-23934cf0-c35b-4ad9-8e31-4c54326fcf9e.tgz": dial tcp: lookup public: no such host
I have tried with many jobs and the error is always the same.

I also get this error "dial tcp: lookup public on <IP_ADDRESS>:53: server misbehaving".
But it never succeeds.

@rossjones

This is unfortunately a bug, where the machine is trying to resolve a public address on that machine, but because of configuration it does not have one.  This should be resolved in the next release. Sorry.
@georgesmith9914 I've updated the demo network to use IPFS for now, so you should be able to re-run your job and get access to the outputs.  Alternatively you can run your job with -p ipfs to switch publishers.

@georgesmith9914 just to be clear, you can curl the endpoint "http://public" on your machine? Just making sure

This is fixed now in the 1.3 release, the requester node should be configured with the --local-publisher-address flag which is the IP shown in the returned URL for locally published content (instead of public).


Add com.snowplowanalytics.snowplow.storage/snowflake_config/jsonschem…

…a/1-0-0 (close #634)

Cherry-picked into https://github.com/snowplow/iglu-central/pull/648, closing


Rename LICENSE.txt to LICENSE

Including an extension allows the file to be opened more easily in many file managers. And GitHub has no problem detecting it as a license file. So what's the benefit of renaming it?

Closed due to lack of response.


add a sensitivity example of Pine Island Glacier

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 66.28%. Comparing base (a40d901) to head (d140317).
Report is 28 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
+ Coverage   65.67%   66.28%   +0.61%
==========================================
  Files          32       33       +1
  Lines        5654     5890     +236
==========================================
+ Hits         3713     3904     +191
- Misses       1941     1986      +45

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


As a User I want a flexibility to use gnames directly if I have an access to its database.

It makes more and more sense to keep gnames as a service, and use gnverify as a command line application that uses that service. This will allow to install gnames/gnverify locally, and embed gnmatcher into gnverify, so there is no need for gnmatcher service. That would keep moving parts reduced to 2: gnames and gnverify


Upgrade both syntax to 3 and reason-react

Thanks, this looks great!

Thanks @imamatory!

@rickyvetter i'm gonna use this lib in production so it would be nice if you release version and publish to npm. There is breaking changes in reason-react so it should me minor. Thanks)

@imamatory 0.2.0 is live now!!

@rickyvetter thank you so much! 👍


File provisioning plugins

Feature Request
Desired behaviour
Externalize list of default plug-ins and their versions to a auto-generated JSON file in ~/.dockstore.
Allow users to also add plug-ins
Requirements:

json file is created in ~/.dockstore if it doesn't exist (remove the hardcoded code we have for this now and move it out to a file in the resources directory)
json file can be modified by users to add new plugins (and their locations if not in artifacts.oicr.on.ca)
dockstore plugin download should download plugins from this file

Functional on staging.dockstore.org and tested on a collaboratory VM


How vscode knows about the server port no of debug adapter when it itself starts debug adapter ?

As I know, there are following two ways to run debug adapter. My confusion lies in the second way.

Run debug server explicitly on some port no and specify this port no in launch.json as value of "debugServer" attribute. In this case vscode connects on this port no.  Debug server is spawned as a separate process and the code to spawn it is written typically in extension.

Debug adapter is started by vscode itself. Debug adapter's executable is mentioned in package.json as the value of "program" attribute under "debuggers" section.

Now my question is regarding second point. vscode is the client of Debug adapter (which is DAP server). vscode must know the port no of the server started within the debug adapter in order to connect to it and later send request.
Now suppose if my debug adapter is creating a server on port 9990, than how should I tell vscode to use 9990 as port no to connect to debug adapter which will be started by vscode itself.

@tarunbansal11 in the second case VS Code talks to DAP via stdin/stdout, it doesn't use a port.

Thanks @weinand.
So it means in the second case I can not use same executable for debug adapter which I use in first case. what changes I need to make in the code of debug adapter in second case than first case.
I saw the code of mock debugger extension. In the first case, debugger adapter is started with --server =4711 and we mention this port no (4711) in "debugServer" in launch.json.
In the second case, the same debugger adapter is used by VScode as mentioned in package.json as following -
"debuggers": [
{
"program": "./out/debugAdapter.js",
"runtime": "node",
}.................
...................
]

It is very simple to support both modes from the same DA executable.
For instance if you are basing your DA on the vscode-debugadapter node module, then the resulting DA supports both modes automatically: if the DA is launched without arguments then it communicates via stdin/stdout. If an argument --server=1234 is passed, it communicates via a socket.
The code for both cases is here:
https://github.com/Microsoft/vscode-debugadapter-node/blob/7b97e42f1ed19777044850c5f18bfce8e21fc598/adapter/src/debugSession.ts#L348-L369
The socket mode is very helpful for debugging the DA: you can just run the DA as a server inside the debugger and VS Code will connect to it instead of always a launching a new instance of the DA.
See https://code.visualstudio.com/docs/extensions/example-debuggers#_development-setup-for-mock-debug.

Now I see, thank you very much @weinand  for your quick resolving my doubt.
One suggestion - It would be nice if this information is documented somewhere though there is a high probability that It is already documented and I missed it.


Profile details not displayed clicking on the user in the header

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

go to offline
click on + icon and select new chat option
search for email id which is not exist in list
click on that email
click on header to see details

Expected Result:
should show profile details
Actual Result:
shows list of profiles instead of profile details
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.26-1
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/8bdede6d-9a32-487d-a107-85c12006f7e0
https://github.com/Expensify/App/assets/43996225/79aa02c7-2f98-4afc-a1b4-5059de4b330f
Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686406357940279
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Discussed with @Beamanator , we're not going to mark this as a blocker since any solution requires us to improve the keying system we use for optimistic accountIDs.
https://github.com/Expensify/App/issues/19007
Going to remove the blocker, mark as held on this until that is complete.

No update on this, since its still on HOLD

https://github.com/Expensify/App/issues/19007 is live. I can no longer reproduce:
https://github.com/Expensify/App/assets/38236554/b87578b5-fa69-421f-8d4c-ad23056ed4cf
@dhanashree-sawant @kavimuru can you reproduce?

Yes agree, cannot reproduce now

Well, we were waiting on https://github.com/Expensify/App/issues/19007, and since that was deployed, this issue no longer exists. So I think we can just close this entirely?

Agreed! Sounds fine to close


[ZEPPELIN-5379] LIST_CONFIGURATIONS command cannot return the default…

What is this PR for?
when download distirbution package ,  run zeppelin server ,do not config zeppelin-site.xml ,i found LIST_CONFIGURATIONS command cannot return the default configuration in the ZeppelinConfiguration class code,so the web  lack some configuration
What type of PR is it?
[Bug Fix]
Todos

[ ] - Task

What is the Jira issue?

[ZEPPELIN-5379] https://issues.apache.org/jira/browse/ZEPPELIN-5379

How should this be tested?

Ci pass and manually tested

Screenshots (if appropriate)

Questions:

Does the licenses files need update?
Is there breaking changes for older versions?
Does this needs documentation?

LGTM, will merge if no more comment


Can't open Altair Firefox extension v2.4.0

Describe the bug
There is no update notification even if a new version of Altair was released, is it normal ?
I removed my old version to get the latest Firefox extension and i got this issue.
To Reproduce
Steps to reproduce the behaviour:

Remove current Firefox Altair extension
Install the latest extension
See error

Expected behaviour
Get update notification and working extension.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu
Browser: Firefox
Version: 71

This exact behavior is also occurring on Firefox Developer edition v72.0b9 on Windows 10 after the extension auto-updated today.

Thanks for reporting this! I'd look into it as soon as I can. Looks like the CSP in Firefox is preventing the code from executing.

This should be fixed with v2.4.1.


User Accounts w/ Google login

Currently have basic implementation of Facebook Auth/Login, but due to API limitations might just use Google login instead.
Facebook:

Integrate with Facebook event services (which all require app review)
Potential to expand to support "friend activity" etc.
Use FB profile picture, user data, etc.
Can check if in UCLA group to verify that they are UCLA-affiliated?
Clubs have Facebook pages and eventually can have "Club account" status of some kind

Google:

Use Google profile picture, email, etc.
Must be *ucla.edu email, which means only UCLA-affiliated accounts
Clubs will have to have *ucla.edu email, or we will enforce a case-by-case review of each club that wants to sign up for club (not everyone should have ability to create events)
Increased ease to integrate with MyUCLA?

Next Steps:

Integrate Google auth to site, store user data in database
Make sure user info isn't duplicated, unique key = email?
Ability to update user info through Mappening (add picture, change name, etc.)
Unlocks many more features we can develop! (e.g. favorite events, export to calendar, user-contributed events, recommended events, personalization in general)

Potentially relevant example: https://github.com/GenFirst/angular2-node-fb-login/blob/master/frontend/src/app/login/login.component.ts
Google login: https://developers.google.com/identity/sign-in/web/sign-in
Mappening Developers Account: https://console.developers.google.com/apis/credentials?authuser=0&project=mappening-193922 (not sure if this link will work for you)
Use database collection g_users on mlab, add backend code for Google login (with UCLA account) under src/mappening/auth/google.py


fixes issue#107

fixes issuehttps://github.com/opensds/opensds-dashboard/issues/107

@wisererik @leonwanghui

LGTM


Conflict with rbi generated by Tapioca

Rbi generated by Tapioca conflicts with dry-monads.rbi from this gem. It complaining  about  sealed! class.
Is sealed! really necessary?
Error
sorbet/rbi/gems/dry-monads@1.3.5.rbi:293: Dry::Monads::Maybe is sealed and cannot be inherited by Dry::Monads::Maybe::None https://srb.help/5050
     293 |class Dry::Monads::Maybe::None < ::Dry::Monads::Maybe
                                           ^^^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:64: Dry::Monads::Maybe was marked sealed and can only be inherited in this file
    64 |  sealed!
          ^^^^^^^

sorbet/rbi/gems/dry-monads@1.3.5.rbi:319: Dry::Monads::Maybe is sealed and cannot be inherited by Dry::Monads::Maybe::Some https://srb.help/5050
     319 |class Dry::Monads::Maybe::Some < ::Dry::Monads::Maybe
                                           ^^^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:64: Dry::Monads::Maybe was marked sealed and can only be inherited in this file
    64 |  sealed!
          ^^^^^^^

sorbet/rbi/gems/dry-monads@1.3.5.rbi:354: Dry::Monads::Result is sealed and cannot be inherited by Dry::Monads::Result::Failure https://srb.help/5050
     354 |class Dry::Monads::Result::Failure < ::Dry::Monads::Result
                                               ^^^^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:215: Dry::Monads::Result was marked sealed and can only be inherited in this file
     215 |  sealed!
            ^^^^^^^

sorbet/rbi/gems/dry-monads@1.3.5.rbi:409: Dry::Monads::Result is sealed and cannot be inherited by Dry::Monads::Result::Success https://srb.help/5050
     409 |class Dry::Monads::Result::Success < ::Dry::Monads::Result
                                               ^^^^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:215: Dry::Monads::Result was marked sealed and can only be inherited in this file
     215 |  sealed!
            ^^^^^^^

sorbet/dry-monads-sorbet/dry-monads.rbi:129: Dry::Monads::Maybe is sealed and cannot be inherited by Dry::Monads::Maybe::Some https://srb.help/5050
     129 |class Dry::Monads::Maybe::Some < Dry::Monads::Maybe
                                           ^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:64: Dry::Monads::Maybe was marked sealed and can only be inherited in this file
    64 |  sealed!
          ^^^^^^^

sorbet/dry-monads-sorbet/dry-monads.rbi:158: Dry::Monads::Maybe is sealed and cannot be inherited by Dry::Monads::Maybe::None https://srb.help/5050
     158 |class Dry::Monads::Maybe::None < Dry::Monads::Maybe
                                           ^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:64: Dry::Monads::Maybe was marked sealed and can only be inherited in this file
    64 |  sealed!
          ^^^^^^^

sorbet/dry-monads-sorbet/dry-monads.rbi:275: Dry::Monads::Result is sealed and cannot be inherited by Dry::Monads::Result::Success https://srb.help/5050
     275 |class Dry::Monads::Result::Success < Dry::Monads::Result
                                               ^^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:215: Dry::Monads::Result was marked sealed and can only be inherited in this file
     215 |  sealed!
            ^^^^^^^

sorbet/dry-monads-sorbet/dry-monads.rbi:303: Dry::Monads::Result is sealed and cannot be inherited by Dry::Monads::Result::Failure https://srb.help/5050
     303 |class Dry::Monads::Result::Failure < Dry::Monads::Result
                                               ^^^^^^^^^^^^^^^^^^^
    sorbet/dry-monads-sorbet/dry-monads.rbi:215: Dry::Monads::Result was marked sealed and can only be inherited in this file
     215 |  sealed!
            ^^^^^^^
E

Apologies I missed this one coming in - Good question; I'll try find time to look at this in the next couple of weeks and get back to you. In the meantime clearing the Tapioca generated<EMAIL_ADDRESS>after running Tapioca is probably the only workaround.


autocreate_reverse_records does not work with powerdns > 4.4

as of PowerDNS version 4.4 the set-ptr feature is no longer supported and therefore the autocreate_reverse_records does not work.
https://github.com/PowerDNS/pdns/pull/9593/files#diff-7240b871c4a8ef68cfaf28739c49d762abb6613c13b176ab776256930f4705a1

That's unfortunate :( I guess we either have to remove the functionality, or, preferably implement it ourselves.

yes I think this is a must have, because you always need a PTR for an A/AAAA record. It would be really cool if this would be implemented.

It actually works in funny way for us - for existing PTR domains it works, for nonexisting ones we get nondescriptive

and corresponding stack trace
2023/02/03 12:27:18 [error] 545#545: *2811 FastCGI sent in stderr: "
PHP message:<PHONE_NUMBER>: BadData in /var/www/html/dns-ui-0.2.7/model/zone.php:727
PHP message:<PHONE_NUMBER>: Stack trace:
PHP message:<PHONE_NUMBER>: #0 /var/www/html/dns-ui-0.2.7/views/api.php(147): Zone->process_bulk_json_rrset_update()
PHP message:<PHONE_NUMBER>: #1 /var/www/html/dns-ui-0.2.7/views/api.php(63): API->update_zone_rrsets()
PHP message:<PHONE_NUMBER>: #2 /var/www/html/dns-ui-0.2.7/views/api.php(106): API->options()
PHP message:<PHONE_NUMBER>: #3 /var/www/html/dns-ui-0.2.7/views/api.php(33): API->zone()
PHP message:<PHONE_NUMBER>: #4 /var/www/html/dns-ui-0.2.7/requesthandler.php(62): require('/var/www/html/d...')
PHP message:<PHONE_NUMBER>: #5 /var/www/html/dns-ui-0.2.3/public_html/init.php(18): require('/var/www/html/d...')
PHP message:<PHONE_NUMBER>: #6 {main}" while reading response header from upstream, client: <IP_ADDRESS>, server: _, request: "PATCH /api/v2/zones/example.com. HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.4-fpm.sock:", host: "www.example.com", referrer: "https://www.example.com/zones/non.3dart.com?name=ttt"

We'd be entirely fine with PTR zones not being created automatically (more than fine; that's actual use case for us, we don't want to create PTR for random domains clients give us to manage and have to point to some external IP) , or records not being created if PTR doesn't exist, just don't block editing records


Streaming suddenly stops

Streaming suddenly stops and/or several links appears as broken when they are actually not, restarting bhfuse resovles issue temporary.

Is this still a prevalent problem? Can it be reproduced?

This is a old bug that isn't reproducible any more.


Saving & Loading to third party sites

I'm currently looking into writing guides and sharing more plans, and have need of shorter share links. To serve this end, I'm looking into adding support for (one or more) third party sites. I do see Gists on your roadmap, so I would like to build that feature out.
I will add further details over time, and feel free to ask any questions.
TOS considerations
First and foremost, we need to consider the TOS's of the site(s) we want to use. Making use of Github to host our apps backend is sketchy at best, but isn't explicitly forbidden. For the initial implementation, I will start with Github gists, but other sites may be considered down the line.
File Format
The easiest file format would simply be the full plan link URL. This has the benefit of including the URL of the site within the file itself. Alternatively, a pretty printed JSON file is more likely to be acceptable by github.
Can I get your thoughts on file format?
GUI Implementation

Authorize with Github button will be added to both the Save & Load menus under a "GitHub Gist" tab. When authorized, this is replaced with a label showing the logged in user, and a Deauthorize button.
The save menu will allow you to name the gist. Gists will be saved with the MIME type of application/x-xivplan for identification later. Gists will be private by default.
The load menu will show all gists with the MIME type application/x-xivplan.
The load menu will also include a text box "Load from URL" to load public plans*.
The share menu will be updated to include a Share Gist tab, which is only visible when working on a gist. This tab will have a button to allow the user to make the gist public, and when public the share URL will be shown.

* I've been floating the idea of a generic "Load from URL" option that simply performs a GET to that URL and loads what it finds, but it feels like a bit too much of a power user feature, when plan codes exist.
Link Format
Currently planning on only adding a hash based URL. It will look something like this:
https://xivplan.netlify.app/#/gist/github-gist-id
GitHub Authorization Quirks
Github authorization is fairly straight forward - however one quirk is that we need to navigate away from the page in order to authorize, then we will be redirected back. This will clear any unsaved state, so I plan on adding a temporary save for the scene. It will be stored on local storage.

Also, while I am fully ready to implement this completely, as you may be aware node & react is not my area of expertise. If you'd prefer to limit my contributions, I would not be offended.

TOS

Definitely something we should check. I hadn't looked into this yet, but I figured gists are meant for sharing code snippets, notes, etc. which isn't far off from how this would use them.

File Format

I figured pretty-printed JSON would probably be best for this. If it's possible to get the ID of a new gist before creating it, we could include the xivplan URL to that plan in the data, either as a header that we strip out before parsing, like
// https://xivplan.netlify.app/gist/<id>
{
  ...
}

or as a field in the data like
{
  "$url": "https://xivplan.netlify.app/gist/<id>",
  ...
}

so that it remains standard JSON.

GUI
Authorize with Github button will be added to both the Save & Load menus under a "GitHub Gist" tab.

This seems reasonable to me. Alternatively, we could have a sign in button at the top of the Save and Load menus and then only show the relevant tabs if you're signed in, but I'm not sure if that's easier to use or just more confusing.

Gists will be saved with the MIME type of application/x-xivplan for identification later.

I haven't checked what the specification for MIME types says, but it looks like a lot of specialized JSON formats tack +json onto the name, so maybe application/x-xivplan+json?

The load menu will show all gists with the MIME type application/x-xivplan.

Exactly what I was thinking (aside from not having decided a good way to identify which gists should be shown; I like the idea of using the MIME type).

The load menu will also include a text box "Load from URL" to load public plans*.

I'm not sure how necessary this is when you can just open the link in a new tab.

The share menu will be updated to include a Share Gist tab, which is only visible when working on a gist. This tab will have a button to allow the user to make the gist public, and when public the share URL will be shown.

Seems reasonable to me. Maybe the load menu should also display the public/private status and have a share/copy link button as well?

Link Format

That pretty much matches what I was thinking. From what I understand, non-hash-based URLs are generally preferred, though since xivplan is a static site with no other pages currently, using a hash is fine (and consistent with the share links, where I had to use a hash to work around server URL limits).

GitHub Authorization Quirks

It is possible to do OAuth authentication in a popup window. Not sure this is the best possible example of it, but I've used code similar to https://github.com/jlumbroso/react-github-login for this before.
Also note that this requires having a separate server set up to relay the OAuth messages with the app's private API key (otherwise there's no way to keep said key private). I'd need to look into whether that could be done using Netlify's serverless functions instead, which should be free (as long as I don't get more than 125k sign ins per month).

TOS

Github's API TOS doesn't explicitly forbid much. Just illegal activity, spam, advertisements. etc.

File Format

I'm a fan of the $url field. while we won't know what a file's URL will be until its created, we can create the file empty, and get the URL before posting the real content.

we could have a sign in button at the top of the Save and Load menus and then only show the relevant tabs if you're signed in, but I'm not sure if that's easier to use or just more confusing

I like your idea of having an "Authenticate with Github" option somewhere, and hiding the gist tab unless authenticated. Couple that with selecting only a single third party site to integrate with, will keep the UI more clean.

I haven't checked what the specification for MIME types says, but it looks like a lot of specialized JSON formats tack +json onto the name, so maybe application/x-xivplan+json?

Adding +json is an optional suffix we can add - and in theory we can use this to differentiate between application/x-xivplan+json and application/x-xivplan+gzip which would be the URL's format. I do like this plan.

I'm not sure how necessary this is when you can just open the link in a new tab.

The idea behind the "Open URL" input was if you had the link to someone else's gist, but didn't have the XIV Plan link. There wouldn't be an intuitive way to open that gist without constructing the url yourself. However, if we add $url to the plan JSON, that solves this problem.

Seems reasonable to me. Maybe the load menu should also display the public/private status and have a share/copy link button as well?

I did think about that, but that would clutter the load menu. I can see the use case for making a plan public, but private is much more niche. That's why I suggested making publishing a plan a one way operation.

https://github.com/jlumbroso/react-github-login

I took a look at the source code for this project - this would work well so long as the popup is allowed. Unfortunately an in-app popup (Similar to how Open File is a "popup"), would require an IFrame, but there's a good chance that GitHub blocks IFrames for security.

Also note that this requires having a separate server set up to relay the OAuth messages with the app's private API key

Ah, I didn't realize there wasn't a serverless authentication flow. But, in hindsight, this makes sense.
With a relay, we would want to verify the API requests on the server, otherwise we could be forwarding questionable requests. This doesn't necessarily need to be a day 1 feature, but something that should be strongly considered.

I took a look at the source code for this project - this would work well so long as the popup is allowed. Unfortunately an in-app popup (Similar to how Open File is a "popup"), would require an IFrame, but there's a good chance that GitHub blocks IFrames for security.

In a previous project, I used an actual popup window rather than an iframe. It worked pretty well. (Code could probably be written much more cleanly though.)

Heya, not sure what the state of this currently is, but I've recently forked and made some changes for myself. Among them sharing via the paste.myst.rs API. From what I can tell, this seems to comply with their TOS. Although it's realistically not nearly as future proof as something like github.
My changes are very quick and dirty (Not helped by 0 experience with TS or react) and as such various parts of the code are a bit mangled. Not particularly valuable as a contribution I believe, but maybe still of use to you.
It's currently hosted on a github pages, here's an example plan: https://daendaralus.github.io/xivplan/#/plan/ttz3wr4o

Hello fellow criterion enjoyer!
Thanks for posting this. I haven't made any notable progress on this ticket due to a change in my professional life - that and the complexity of adding authentication, session management, backend validation, and all the other processes required for secure server to server communication left me demotivated.
paste.myst.rs solves a lot of those problems though. I've reviewed your saving/loading code and the fact that the server allows for creating pastes without authentication is a game changer. I did review their site and agree that using them for storing plans is technically not against their TOS, and can serve as a great starting point for URL based sharing.
I'll see if I can find some time to add a GUI around this which would work with the main package.

Hey @joelspadin, I did some research on pastemyst and, from a technical perspective, I can see two options for implementation. I'd like your feedback on which, if either, approach you feel is more appropriate.
Authenticated API
Authentication with the pastemyst API is a simple bearer token. Users would go to the paste.myst.rs site, connect their github account, and receive an API token. This token can then be copied into the xivplan app to allow us to fully read/write/query pastes on the user's account.
When authenticated, we could have pastemyst be an alternative to local storage, and also double as a sharing system. Plans will be set private by default, with a checkbox to toggle to public in the Share dialog. Unauthenticated users would have the ability to open plans that have been shared by other users using the unauthenticated API.
To mitigate the risk that pastemyst becomes unavailable, I can also add a local storage copy of the plan (Separate from the Local Storage) tab so plans can be restored if we lose access to pastemyst.
Unauthenticated API
Pastemyst also has a public, unauthenticated API. This only allows for reading public pastes, and creating new pastes - existing pastes cannot be edited in any form, and are permanent once uploaded.
If we implement this approach, in addition to a simple "Share" functionality, I would add logic to keep track of a plan's current share link, and add checks so we only upload a new copy when necessary, and a plan is only uploaded when explicitly requested. A quick mockup of the GUI, with appropriate disclaimers, looks like this:

In both versions of the API, we are limited to 5 request per second, which is plenty to work with. Each of the API requests will be coming from the user's browser rather than a central server.

Sorry, I forgot about this until recently. I don't think I'm going to have time to look into this before the expansion launches (I blame From Software), but I did just finish implementing some support for a feature that I hope will make it a bit easier to share large plans.
The site can now be installed as an app, and on Chromium-based browsers (Chrome, Edge, etc.) it now supports opening and saving JSON files with an .xivplan file extension. You can now save a file and send it to someone (e.g. via Discord), and if they have the site installed as an app, they can directly open the file in the app. I plan to allow for drag and drop of .xivplan files onto the page and saving them via download to at least get some support for Firefox next.
That doesn't solve the problem of having a single location for a plan that you know is the latest version though, so I would still like to work on this eventually.

Hey Joel, I've taken a look at the changes, and the file support and this is all great! it has certainly helped with sharing plans within a community.
I just want to clarify one thing though: my goal with opening this issue was to enable frictionless sharing with strangers, such as in party finder, or in a strats pastebin. In theory, the links serve this purpose, but having a plan link longer than the discord character limit is a bit... awkward.
Currently I'm working around this by using tinyurl to shorten plan links - and that works great, but people don't trust tinyurl, so a built in solution would be preferred. Unfortunately I don't think this will be possible without a backend of some sort.
Even though i proposed this change, I'm not 100% comfortable relying on the generosity of strangers for hosting plans - hence the disclaimers that I included in my mockups. Maybe the solution here is to fork the project and add support user login and a backend, allowing for a traditional server structure. This is not a priority for me though, so I do not plan to work on it any time soon.

Now that I have explicit support for storing plans as files, I wonder if a better approach to sharing them would be to use a service that's explicitly for could file storage and sharing, like dropbox, google drive, etc. For that to work, you would need to authenticate with the service so XIVPlan can write files, and then sharing would give you a link like https://xivplan.netlify.app/dropbox/<id>, which would allow anyone else to view the file (as long as it has the correct permissions to be publicly viewable).
That would also work well with #32 if these links opened in a read-only mode by default (with an option to switch back to the editor interface and save a copy of it yourself if you want).


Fix warning for sc_sock on Windows

It should be u_long instead of int : https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-ioctlsocket

@svladykin Thank you very much!


To enable the same ignore locally, one would run git config blame.ignoreRevsFile .git-blame-ignore-revs.

We could have this in all release branches...  not a biggie if we don't, though.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

I've pushed this to master since it was only approved for there. If someone wants to push it to other branches please create a new PR.


Updated Readme to reflect User Docs

PR to reflect how the plugin can be used.

Some screenshots or a list of supported features would help a lot

Yeah, I will add screenshots and more information +1.

All comments are still not resolved and screenshots are missing

Thanks for the reviews, I will merge today if no further feedback.


Log in automatically after 1Password filling the content

Log in automatically after 1Password filling the content.

The old behavior that we do not tigger login action after username and password filled by 1Password extension was intentional. Because we can not make sure if we have enough information to login. In the case where user enable secure question, user is expecting to be able to choose secure question and answer before login action triggered.
Now I am tend to beleve that user who use 1Password to manage their account does not need secure question to secure their account. The should already have a strong enough, randomly generated password. So after reconsideration, I think the drawback is acceptable.
Thank you for your pull request.


correcting cvss scoring behavior when updating/adding findings via ui and api [sc-4849]

CVSSv3 Vector takes precedence, followed by CVSSv3 Score, and finally Severity in that order

Does this fix https://github.com/DefectDojo/django-DefectDojo/issues/6774 ?


API reference for 1.14

/hold
Thanks @tengqm for the fast work! I would like to test the instructions and validate from an outside perspective before merging this so you don't need to do this again in 3 months :)
ref: https://github.com/kubernetes/website/issues/13396

/lgtm
/approve

/hold cancel


Type conflict

swiftUI has Image type
But the Moya image.swift file also defines
public typealias Image = ImageType

Oh, interesting! For now, seeing as Swift has namespaces, you can work around this by using SwiftUI.Image or Moya.Image explicitly.
Can you give a bit of example code that shows this type conflict? I'm afraid this'd be source breaking and thus require another major release, so I'm not sure if this is something we'd be able to do fix soon.

Oh, interesting! For now, seeing as Swift has namespaces, you can work around this by using SwiftUI.Image or Moya.Image explicitly.
Can you give a bit of example code that shows this type conflict? I'm afraid this'd be source breaking and thus require another major release, so I'm not sure if this is something we'd be able to do fix soon.

Only SwiftUI.Image can be used. Can solve the problem, but the experience is not good

I understand this'd be annoying, for sure!


Failed to parse static properties from plugin

Hey guys!
I am configuring my Nuxt 3 project to use the Hotjar and Google Analytics script using @nuxt/scripts, adding the script in my nuxt.config.ts exactly as the documentation says:
export default defineNuxtConfig({
  scripts: {
    registry: {
      hotjar: {
        id: 1234567
      }
    }
  }
})

However, I am receiving the following warning on console:
WARN  Failed to parse static properties from plugin<EMAIL_ADDRESS>ENOENT: no such file or directory, open<EMAIL_ADDRESS>
at async open (node:internal/fs/promises:633:25)
at async Object.readFile (node:internal/fs/promises:1242:14)
at async annotatePlugins (node_modules/nuxt/dist/index.mjs:4873:68)
at async getContents (node_modules/nuxt/dist/index.mjs:4396:27)
at async i.getContents (node_modules/@nuxt/devtools/dist/chunks/plugin-metrics.mjs:10:23)
at async node_modules/nuxt/dist/index.mjs:4744:22
at async Promise.allSettled (index 16)
at async generateApp (node_modules/nuxt/dist/index.mjs:4740:3)
at async _applyPromised (node_modules/perfect-debounce/dist/index.mjs:54:10)

I see that the Hotjar script is being correctly inserted into my page, but the warning is still being displayed. Should I be worried?
The same error is ocurring on Google Analytics script too.
I checked a issue with the same warning, and the problem was about the use of functions to setup data on nuxt.config.ts, but that's not my case.
Versions:
@nuxt-scripts: 0.6.4
nuxt: 3.11.2

Hi, could you please try this with the latest Nuxt version (3.12.4), I think this was fixed upstream as I haven't been able to replicate it in a while.

Hi, could you please try this with the latest Nuxt version (3.12.4), I think this was fixed upstream as I haven't been able to replicate it in a while.
Either way it is safe to ignore

that's it! updated nuxt version and the warning is gone! thanks @harlan-zw ! :smile_cat:


[WIP] Feat/document namespace

Will be ready to review once get-st-data branch has been merged

:tada: This PR is included in version 2.0.1-beta.83 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement screensharing

Use the C++ SDK's screensharing capabilities when available. Also involves audiosharing if possible.

It would nice to be able to screenshare. Right now there is no capabilities for it on the C++ as far as I know and I think its a key component

Implemented; will be available in 1.1.0-beta.1 release.


python311Packages.{lineedit,rchitect,radian}: Add passthru.updateScript

Description of changes

python311Packages.radian: Added passthru.updateScript
python311Packages.rchitect: Added passthru.updateScript
python311Packages.lineedit: Added passthru.updateScript

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

That is unnecessary, the package already have the default update script
nix-repl> pkgs.python3.pkgs.lineedit.passthru.updateScript
[
«derivation /nix/store/kz1imy0nic98yzcyydnym8qxmfvf79dx-update-python-libraries.drv»
  "/home/sandro/src/nixpkgs/pkgs/development/python-modules/lineedit/default.nix"
]


work with third party horizon

Add a free form URL field for a horizon server, beyond just test/public.

duplicate #176


Fix SmartAttributeWarning alert

Only fire the alert if the attribute_value_type="raw" is set. The issue was in the fact that there are several entries for the attribute, which includes value, worst and thresh:

smartctl_device_attribute{attribute_flags_long="prefailure,updated_online,event_count,auto_keep", attribute_flags_short="PO--CK", attribute_id="5", attribute_name="Reallocated_Sector_Ct", attribute_value_type="raw", device="sda", instance="localhost:10201", job="hardware-observer_2_default", juju_application="hardware-observer", juju_model="hw-obs", juju_model_uuid="80a2c1d6-1a90-4ef0-8132-af698cf34f60", juju_unit="hardware-observer/1"}
0
smartctl_device_attribute{attribute_flags_long="prefailure,updated_online,event_count,auto_keep", attribute_flags_short="PO--CK", attribute_id="5", attribute_name="Reallocated_Sector_Ct", attribute_value_type="thresh", device="sda", instance="localhost:10201", job="hardware-observer_2_default", juju_application="hardware-observer", juju_model="hw-obs", juju_model_uuid="80a2c1d6-1a90-4ef0-8132-af698cf34f60", juju_unit="hardware-observer/1"}
10
smartctl_device_attribute{attribute_flags_long="prefailure,updated_online,event_count,auto_keep", attribute_flags_short="PO--CK", attribute_id="5", attribute_name="Reallocated_Sector_Ct", attribute_value_type="value", device="sda", instance="localhost:10201", job="hardware-observer_2_default", juju_application="hardware-observer", juju_model="hw-obs", juju_model_uuid="80a2c1d6-1a90-4ef0-8132-af698cf34f60", juju_unit="hardware-observer/1"}
100
smartctl_device_attribute{attribute_flags_long="prefailure,updated_online,event_count,auto_keep", attribute_flags_short="PO--CK", attribute_id="5", attribute_name="Reallocated_Sector_Ct", attribute_value_type="worst", device="sda", instance="localhost:10201", job="hardware-observer_2_default", juju_application="hardware-observer", juju_model="hw-obs", juju_model_uuid="80a2c1d6-1a90-4ef0-8132-af698cf34f60", juju_unit="hardware-observer/1"}

Coming from the smartctl CLI:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0

Fixes: #358

I was also thinking about increasing the window, but what would be a good value. Also, there errors are different in nature, so some of them might be more critical than the others. I generally think that we should split them.
Ideally, the alert should be more complex; from my experience, the errors, if you plot them, look like an exponential graph. If the drive actually starts to fail, it gradually increases the error count. Then the errors bump more frequently closer to its death

One of possible improvements is to use the thresh values and check against them

I was also thinking about increasing the window, but what would be a good value?

I would say that calculate the rate in a week seems reasonable.

If we could do an alert that would check the change in error counts over some period of time, that would be better. But I am not sure if such tooling is available.

What do you mean by that? If we have the count number we can calculate the rate in prometheus like:
E.g:
rate(smartctl_device_attribute{attribute_id=~"5|187|188|197|198"}[1w]) * 86400

This query gives you the average number of errors per day over the past week.

One of possible improvements is to use the thresh values and check against them

But aren't those cumulative counters?


[GameActivity] Header in details-pane still visible when appearance is hidden

Extension name
GameActivity
Feature Description
As mentioned in the Discord, headers of certain extensions still show up even when the extension itself isn't displayed (see image)
I realize it requires quite a bit of tweaking that might not be worth the work that goes into it, but perhaps down the line it could be implemented as a possible display option. I did notice when a game has no GameActivity data yet, the header doesn't show up either. Perhaps that same logic could be applied as a possible work around.
Screenshots

Incorrect repository, please open it in a themes repository


Integrate Enrollment API to UI

This WebregEnrollment - v1 API is currently only listed as prototype in the API Store.
According to this Collab page: https://collab.ucsd.edu/display/WTS/WebReg
This API is the one to use, last updated 12/Aug/2019. However, StudentEnrollmentAPI - v1 is more recent but seems inactive. Returns 404:

<title>404 Not Found</title>

404 Not Found

nginx


Extend supported dtypes for metal (im2col & upsample_2d)

While running f16 models with the stable-diffusion examples I ran into this missing functionality, should help make these examples easier to use in the future for Mac users.

Thanks!


2 unit tests in ZCL_ABAPGIT_GUI_PAGE_DIFF failing

2 unit tests failing in ZCL_ABAPGIT_GUI_PAGE_DIFF
Something regarding patches, @christianguenter2

Note: this issue dates from commit 389512f690344ab6438e6d117fdc0b79fc271560 on Feb 26, 2019


Require Java8

We are going to require Java8 in the next release.
Previously, we just require good and old Java5.
I'm not sure how many people are looking at this issue, but we'd like to ask you that this is OK for you.
Java7 has been EOL quite some time, so Java8 requirement has good reason.  But projects have its own reason to stick to old standard.  We may reconsider our decision based on the input.

I think Java 8 is the way to go considering how programming paradigm has evolved in last decade and how community has perceived lambda and functional programming.

My 2p, a bit late as I've seen this issue now only. It seems to me that Java 7 is still popular (see this https://plumbr.eu/blog/java/java-version-and-vendor-data-analyzed-2016-edition, I have no idea how relevant this survey is). Anyway, If there is a good reason for argparse4j to use Java 8 functionalities, go for it. Otherwise I would prefer to stick to 7.
With the occasion, I used argparse4j quite a bit and it's great! Keep it up!

Sorry to be an old wet blanket but I would like to see argparse4j support JDKs 6, 7 and 8. Yes, that's right, I am in an ancient environment where JDK 6 must be used. My client's product includes components that need to interface to third party proprietary jars that are for JDK 6, therefore we must be as well. I note that although the python argparse is very advanced compared to other parsers it was introduced at version 2.7 of python even though most people have moved to python 3. My client's customers are using RHEL 7.3 and this only has version 2.7. So it is just an unpleasant fact that in corporate environments old versions of python interpreters and JDKs still exist. In such environments the enterprise edition of java is mandated and the enterprise version of JDK 8 still hasn't come out yet. So only the most up to date clients have JDK 7, most are still using JDK 6 and none of them will use JDK 8 (yet).

Thank you for reply.  So far, the minimum requirement is JDK 6.  At the moment, JDK 6 can build argparse4j just fine.

The code will not be migrated to Java 8 at this moment. If a migration is desirable in the future, this can be reopened or a new issue can be created.


User defined folder for file upload

User defined folder for file upload. Useful for using AjaxFileUpload in cluster enviroment

@MikhailTymchukDX
The use of a mutable static property is potentially unsafe. OK if it's initialized to a constant and never changed, but we cannot guarantee that. Let's change to HttpContext.Current.Items.

It was meant as initialization using constants at application startup. But content of HttpContext.Current.Items must be refreshed on every request. Would be HttpContext.Current.Application the right place for storing root path?

Hi @darilek
I see. For static configuration, a key in web.config is perfect.
What do you think?

Yes web.config is good place. So by default temp dir will be used with possibility to override via web.config settings. IMHO special new child element for this should be created. What do you think?

@darilek
Sounds good!
We're moving the discussion to https://github.com/DevExpress/AjaxControlToolkit/issues/22

Hi @darilek,
Would you please clarify, does this problem occur when you are using the SaveAs method on the OnUploadComplete?
The  expected AjaxFileUpload usage is:

Download a file to the TEMP dir
When download completed copy this file to the required destination.

Thus one shouldn't rely on the TEMP dir - it's just a intermediate storage to avoid accessing the file before download completed.
P.S. Sorry for righting in the closed thread

@IlyaKhD
Medium Trust? (see #29)

@AlekseyMartynov
I mean that AjaxFileUpload TEMP path is an internal thing and shouldn't be worked with directly.
As for Medium Trust - I think this problem should be solved globally, like 'fix all GetTempPath() calls'.

I wrote the reason for this property in the first post - using AjaxFileUpload in cluster enviroment (web farm). You need shared location to assemble file chunks from all servers in cluster. From client side, you don't know which server in cluster processes incoming AJAX request (containing file chunk)

And you farm is working in non sticky mode, right?


meson: add -DGIT arguments

Describe your PR, what does it fix/add?
Adds functionality like this and this to meson.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Compiling with the official meson instructions and then checking out build/hyprctl/hyprctl version yields the wrong result:
 › build/hyprctl/hyprctl version
Hyprland, built from branch ? at commit ?? (?).
flags: (if any)
debug

Is it ready for merging, or does it need work?
Still needs the above problem figuring out.

can you check this for any dumb mistakes?

what does this do when Hyprland is built from source outside of git? (source release or some kind of source puller script that strips the .git dir)

what does this do when Hyprland is built from source outside of git? (source release or some kind of source puller script that strips the .git dir)

(What does cmake do in that case?)

CMake sets those macros to "", but I'm not sure what meson does. Will have to test once I get it working.

So it still shows the same output, I don't know why. I see that the CMakeLists file also says something about PRIVATE. Don't know what that is, but google led me to believe it's about the same as add_project_arguments instead of add_global_arguments.

So, does anyone have any idea how I could fix this?

So, does anyone have any idea how I could fix this?

you need to set check to false from the run_command to avoid the build failing should git not be installed / shallow clone / tar archive, besides that it seems to work


Fix link to DCO in contributing.md

Deleted broken link to https://github.com/hyperledger/fabric-api/blob/master/docs/docs/biz/DCO1.1.txt and replaced with link to http://developercertificate.org/
Signed-off-by: Alice Ma<EMAIL_ADDRESS>

LGTM thanks

LGTM


Add document_from_name() and a corresponding test

This might be cleaner as document_from_draft(), to match the existing document_from_rfc(), etc., methods. Can you revise?


Difference to upstream?

The upstream repo hasn't been updated in years.
How does this fork differ to the upstream? Are there any new features or bugfixes?
Thanks!

Please check the updates since v3.1.0 https://github.com/edwinhuish/better-comments-next/blob/master/CHANGELOG.md


Creation of video form - Use textarea for description

You used a normal text field for the description. Shouldn't you use a textarea for that. I can barely describe anything because the field is too small

I feel you should also use a select drop down for the video category. It should be prepopulated with some video categories. If people can just type the category like this, then there would be lots of spam categories like s, sex, nonsense, rubbish. People can decide to create funny categories


[Snyk] Security upgrade wrangler from 3.2.0 to 3.19.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json
package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

711/1000  Why? Recently disclosed, Has a fix available, CVSS 8.5
Improper Handling of Insufficient Privileges SNYK-JS-WRANGLER-6140500
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Can't receive NSURLAuthenticationMethodClientCertificate from manager.delegate.sessionDidReceiveChallenge

[x] I've read, understood, and done my best to follow the *CONTRIBUTING guidelines.

What did you do?
I want to add mutual authentication for my project with those codes
let manager = SessionManager.default
manager.delegate.sessionDidReceiveChallenge = { (session,challenge) in
    if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust {
            // it's ok
    }
    else if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodClientCertificate {
           // can't receive NSURLAuthenticationMethodClientCertificate
    }
)

And my info.plist is
<key>NSAppTransportSecurity</key>
<dict>
	<key>NSAllowsArbitraryLoads</key>
	<true/>
	<key>NSExceptionDomains</key>
	<dict>
		<key>mydomain.com</key>
		<dict>
			<key>NSIncludesSubdomains</key>
			<true/>
			<key>NSExceptionRequiresForwardSecrecy</key>
			<false/>
			<key>NSExceptionAllowsInsecureHTTPLoads</key>
			<true/>
		</dict>
	</dict>
</dict>

What did you expect to happen?
I want to receive both NSURLAuthenticationMethodServerTrust and NSURLAuthenticationMethodClientCertificate callback
What happened instead?
I only received NSURLAuthenticationMethodServerTrust instead both of them.
Alamofire Environment
Alamofire version: 4.7.3
Xcode version: 10
Swift version: 4.2
Platform(s) running Alamofire: iOS
macOS version running Xcode: 10.14

sessionDidReceiveChallengeWithCompletion should be set to be able to perform client certificate verification. However, be aware that doing that also requires you to handle the other authorization types, including server trust, so Alamofire's built in certificate pinning won't work automatically. However, you should be able to copy the code from SessionDelegate as long as you have access to the SessionManager.


Card maximum width setting is ignored

Is the bug present when using the default Obsidian theme?
No
Is the bug present when snippets and plugins are disabled?
Yes
Minimal theme version
6.0.13
Describe the bug
Cards seem to be scaled to fill the width of the note regardless of the "card maximum width" setting in the style settings plugin. Adjusting the settings "Dataview -> Dataview maximum column width" or "Tables -> Maximize table width (beta)" has no effect on cards either.

Debug info
SYSTEM INFO:
Obsidian version: v1.0.0
Installer version: v0.15.6
Operating system: Windows 10 Home 10.0.19044
Login status: logged in
Catalyst license: none
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: light
Community theme: Minimal
Snippets enabled: 2
Restricted mode: off
Plugins installed: 39
Plugins enabled: 3
1: Dataview v0.5.47
2: Minimal Theme Settings v6.0.5
3: Style Settings v0.4.12

This will be fixed in the next version, but note that using the fr unit is not the best choice in this context.
Also note that there are helper classes such as cards-cols-4 to set the number of columns (1-8)
https://minimal.guide/Block+types/Cards

Closed in Minimal 6.1.0


Parameters Class Update

-Resolves #14 and #29
This update adds a new Parameters class for importing, storing, and checking all of the simulation parameters.

Coverage increased (+1.2%) to 91.954% when pulling 50c29054741a5cfed621bf7e2dc02cd82e5b4eea on parameters-class into 2b8a17507884b3fff731797852f6e9942a2bbab9 on development.


Revert "Vendor go-kext and go-keychain (#10795)"

This reverts commit ed1b6584cb1207d98171375e94c57278c635da99.

To fix ios breakage. Will merge after CI.

Merging now, CI is done building, don't think we need to wait for tests.


Permissions on kubernetes binaries too open

What's the harm here? Without root permissions, the binaries are useless.

It looks like we want a separate label 'security' for such type of issues. F.e. we may want to consider dropping capabilities for kube services we run in containers and so on (http://rhelblog.redhat.com/2016/10/17/secure-your-containers-with-this-one-weird-trick/)


Examples of running Inference on AWQ models with swift? I'm trying to run the AWQ version of InternVL2 models

Describe the bug
What the bug is, and how to reproduce, better with screenshots(描述bug以及复现过程，最好有截图)
Your hardware and system info
Write your system info like CUDA version/system/GPU/torch version here(在这里给出硬件信息和系统信息，如CUDA版本，系统，GPU型号和torch版本等)
Additional context
Add any other context about the problem here(在这里补充其他信息)

Check this doc please: https://swift.readthedocs.io/en/latest/Multi-Modal/internvl-best-practice.html

Which model are you using please?

I'm trying to run the AWQ versions of the InternVL2 models.
https://huggingface.co/collections/OpenGVLab/internvl-20-667d3961ab5eb12c7ed1463e

Oh... I see, we didn't add quantized internvl2 models to our supported list
Let me try.

Supported by #1846
swift infer --model_type internvl2-8b-awq --infer_backend lmdeploy


Remove unused dependencies

Fixes #68

work in progress, started with removing API dependencies.

closing and reopening to try to fix failing deployment verification check.

Ready for review. More could be done to simplify the code and reduce dependencies but this would require more impactful changes so deferred to a separate issue post-cutover.
API, libs, public, and admin all had dependencies reduced. Very minor changes to admin and public to remove two dependencies, otherwise other dependencies were completely unused.


eas device:create doesn't save device name

Build/Submit details page URL
No response
Summary
All registered devices have name 'Unknown'
Managed or bare?
N/A
Environment
EAS CLI 0.43.0 environment info:
    System:
      OS: Linux 5.10 Ubuntu 20.04.3 LTS (Focal Fossa)
      Shell: 5.0.17 - /bin/bash
    Binaries:
      Node: 12.22.1 - ~/.nvm/versions/node/v12.22.1/bin/node
      Yarn: 1.22.17 - ~/.nvm/versions/node/v12.22.1/bin/yarn
      npm: 6.14.12 - ~/.nvm/versions/node/v12.22.1/bin/npm
    Utilities:
      Git: 2.25.1 - /usr/bin/git
    npmPackages:
      expo: ~44.0.0 => 44.0.3
      react: 17.0.1 => 17.0.1
      react-dom: 17.0.1 => 17.0.1
      react-native: 0.64.3 => 0.64.3
      react-native-web: 0.17.1 => 0.17.1
    npmGlobalPackages:
      eas-cli: 0.43.0
      expo-cli: 5.0.3
    Project workflow: managed

Error output
No response
Reproducible demo or steps to reproduce from a blank project

Register a device
List devices

Can you please elaborate? Are you registering the device by scanning the QR code and then installing the profile on your iPhone? If so, unfortunately, we can't read the device name. This is a well-known issue with Apple and we can't do too much with it.

Yes, I'm using the 'web flow'. Alternatively, if it can't be read (weird), would it be an idea to allow the user to set a name using the CLI (maybe directly when entering a UDID manually, and afterwards when someone uses the web flow)? I find myself looking at a list of UDID's xxxxx-xxxx (iPhone), which doesn't help much. It would also help when looking at the list of devices on the development portal, as they all appear like this:
.

I am having the same issue. I need my entire team's devices registered but it is difficult to know who is signed when I have no history of names.

I am also encountering this issue, when adding a device with eas device:create(in our case it's iPhones) it does not seem to register any "name".
When using eas device:list it displays among the informations Name             Unknown.
Then when building for internal distribution Select devices for the ad hoc build it displays the devices by their "UDID" and "Class", which is not enough information to know which device belongs to who.