Implement holdings param in bibliographic#bib

Allow records to be returned with or without holdings data depending on an option set in the bib retrieval methods requested in #709.
Depends on #709 and #711.
For reference

Sample logic in Voyager Helpers

https://bibdata.princeton.edu/bibliographic/922720?holdings=false
https://bibdata.princeton.edu/bibliographic/922720?holdings=true

I'm not seeing many requests for this in datadog. I think we can lower the priority here. What is this used for @christinach ?

@mzelesky Do you know if we have any services that use holdings=true/false?

Per conversation with @mzelesky - There is a cataloger use case for this. We should move forward.
Implementation:

For holdings = false

Request the bib without the alma API parameters for p_avail and e_avail

For holdings = true (current implementation, this should remain the default)

Request the bib with the alma API parameters for p_avail and e_avail

Per conversation with @mzelesky - There is a cataloger use case for this. We should move forward.
Implementation:

For holdings = false

Request the bib without the alma API parameters for p_avail and e_avail

For holdings = true (current implementation, this should remain the default)

Request the bib with the alma API parameters for p_avail and e_avail

Closing this is an Orangelight ticket. I've created a test in Bibdata to ensure Bibliographic#bibs shows the AVA fields, it's just that the MARC view in OL only displays fields (0...999). I'll create a PR for the bibdata test shortly.

@mzelesky is it sufficient to ensure that the holdings data comes through? Do we need to accept a flag turning it off? It seems like consumer can just ignore those fields.
@tpendragon if that's the plan, should we delete https://github.com/pulibrary/bibdata/blob/26a21f36629906417a7a195fe6503bd426d8360d/app/controllers/bibliographic_controller.rb#L25-L28 and the opts argument at https://github.com/pulibrary/bibdata/blob/8d505697ae90aa91b06a0662830f73e846535933/app/adapters/alma_adapter/bib.rb#L11

Reopening and moving to inbox for clarification since we're not actually using the param.


I cant connect guzzle with multile pojects

hello , if some one could help me . I wold appreciate so much .
I have been for 4 days , trying to connect .with guzzle on project in other like this -
I am using nginx  with laradock .
   $client        = new Client(['verify' => false, 'verify_ssl' => false]);
        return $client->request('GET','http://my-project-api/api/options');

It shows this error  -
GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve host: my-project-api

I saw this  post -
https://github.com/laradock/laradock/issues/435
I could abstract some things from there , but as I dont have many experience with Docker . I could not  understand some things .
In my /etc/hosts , I tried to change for -
<IP_ADDRESS>  my-project-api
or
<IP_ADDRESS> my-project-api
( I got this IP inspecting the  nginx container  , I found there - "Gateway": "<IP_ADDRESS>"  . I can access by postman and in chrome , but not with Guzzle  )

or
<IP_ADDRESS> my-project-api
( I got this IP inspecting  - laradock_backend network , I found there - "Gateway": "<IP_ADDRESS>"  .  I can access by postman and in chrome , but not with Guzzle  )

I could not understand , other methods , like making alias  to connect .
some one could explain to me with more details ?
Thanks

@murilolivorato Hi, You can ref https://github.com/laradock/laradock/issues/435#issuecomment-1114268018


TaskRun should have Results in Status

Expected Behavior
When TaskRun executes, it will upload its logs and results to the locations in PipelineParams. A user should be able to look at the Status of a TaskRun and see exactly where those logs ended up (i.e. the whole path).
This path should be determined by the controller, e.g. a folder in the path named after the TaskRun and/or timestamp, and provided in the Status of the TaskRun.
Actual Behavior
The TaskRun Spec (not Status!) has Results which in a previous iteration of our examples were expected to be provided manually:
https://github.com/knative/build-pipeline/blob/dcc2cb189f268c1a9651499c1c1f6ce5f76b1e02/examples/invocations/run-kritis-test.yaml#L24-L36
I deleted this from the example b/c I was thinking that referencing the PipelineParams was enough.
Additional Info
Note #107 is about actually making this work, this is more about the API.

Note after discussing with @shashwathi , we should keep the results in spec as well, so we need both, e.g.
spec:
 results:
     runs:
       name: 'runsBucket'
       type: 'gcs'
       url: 'gcs://somebucket/results/runs'
     logs:
       name: 'logBucket'
       type: 'gcs'
       url: 'gcs://somebucket/results/logs'
     tests:
       name: 'testBucket'
       type: 'gcs'
       url: 'gcs://somebucket/results/tests'
status:
 results:
     runs:
       name: 'runsBucket'
       type: 'gcs'
       url: 'gcs://somebucket/results/runs/mytaskrun/'
     logs:
       name: 'logBucket'
       type: 'gcs'
       url: 'gcs://somebucket/results/logs/mytaskrun'
     tests:
       name: 'testBucket'
       type: 'gcs'
       url: 'gcs://somebucket/results/tests/mytaskrun'

(This task is just about adding the fields to Status, not about implementing the logic)

Related to #107

This task is just about adding the fields to Status, not about implementing the logic

@bobcatfish does that mean this task is only about adding the results struct into the status struct, but not actually doing anything with the new field? This ticket seems deceptively simple

@bobcatfish does that mean this task is only about adding the results struct into the status struct, but not actually doing anything with the new field? This ticket seems deceptively simple

lol yes - @aaron-prindle was asking me the same question - I'm beginning to this I should have just implemented this instead of writing up this ticket about it XD

Since this is such a sad small Task, I'm going to just assign it to myself and do it XD

Note Runs and Tests were removed in #282


Add to_route() to Switch trait.

Is your feature request related to a problem? Please describe.
It would be nice to convert an item that implements Switch into a Route. This way, handling naked Strings won't be required at all when using the router.
Describe the solution you'd like
Switch could gain a to_route_builder() method.
This may create a new RouteBuilder type that works with &str instead of String to avoid excess allocations, and finalizing it will create a Route.
A ToRoute trait might be added as well, denoting all types that can be converted to a Route. Similarly, extraction from Strings into Routes might require breaking off from the current Switch trait, and delegating that to another trait (TryFrom<&str>??).
Avoiding every primitive that currently implements Switch getting to_route() might make sense as well, because you need to have leading slashes for any of the routes to make sense (you wouldn't want a String to turn itself into a Route, because the resulting item won't have a leading slash).

closed via: https://github.com/yewstack/yew_router/pull/108


#Feature request Cpu docker compose

Cpu docker compose file or instructions on how to run it on cpu in a docker contianer ?

@ChathurindaRanasinghe are the instructions for CPU much different?

@pseudotensor Yeah running on CPU is different since current docker-compose is for running on GPU with our Dockerfile based on CUDA base image.

Following, need this for my M2 Mac

@achraf-mer @ChathurindaRanasinghe This is still needed in general for our other products.


quick implementation of the scroll feature

I've implemented the scroll feature.
Here's a quick stub on how to use this feature

result = yield self.es.search(index=query_index, type=query_type, source=body_query, scroll="1m")

Then to retrieve the scroll (you may need to loop the process until '_scroll_id' is found in the results):

body_query = {
"scroll_id" : result['_scroll_id']
}
result = yield self.es.search(index="_search", type="scroll", scroll="1m", source=body_query)

It's not super elegant but it works.
Hope it helps

Hi @davinerd, thank you for your code!
Can you provide some unit tests for this feature?

Here we go.
Please check if the test is well done (I tried to be consistent with your style).

Hold on on this, I'm adding also the 'DELETE' feature to delete unused scroll id (as stated here: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html#_clear_scroll_api)

Good to go now. Added few more tests also.
You can use the clear_scroll by doing:
yield self.es.clear_scroll(result['_scroll_id'])
it also supports multiple scroll ids as a list.

any update on this?
Thanks

Hi, the tests are failing. Can you provide the correction?

it's just one test that fails. However, my local test shows no error so I cannot reproduce it. Can you try locally?

Hey @davinerd
I found the tests problem. The elasticsearch versions < 1.5 has trouble parsing the url query strings. Debugging it we've reached the follow problem:
ipdb> response
HTTPResponse(_body=None,buffer=<_io.BytesIO object at 0x111f51d10>,code=400,effective_url='http://localhost:9200/_search/scroll?source=%7B%27scroll_id%27%3A+u%27cXVlcnlUaGVuRmV0Y2g7NTs2MTE6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTI6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTQ6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTM6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTU6aDVVZlZSbU9SakstVkhFcFVuc3ctdzswOw%3D%3D%27%7D&scroll=1m',error=HTTP 400: Bad Request,headers=<tornado.httputil.HTTPHeaders object at 0x11206e050>,reason='Bad Request',request=<tornado.httpclient.HTTPRequest object at 0x112062f10>,request_time=0.0036470890045166016,time_info={})
ipdb> response.body
'{"error":"ElasticSearchIllegalArgumentException[Failed to decode scrollId]; nested: IOException[Bad Base64 input character decimal 123 in array position 0]; ","status":400}'
ipdb>

You can notice that the effective_url contains the ?source={"scroll_id": "SCROLL_ID"} encoded. Testing here using curl we get the same response:
$ curl -XPOST "http://localhost:9200/_search/scroll?source=%7B%27scroll_id%27%3A+u%27cXVlcnlUaGVuRmV0Y2g7NTs2MTE6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTI6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTQ6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTM6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTU6aDVVZlZSbU9SakstVkhFcFVuc3ctdzswOw%3D%3D%27%7D&scroll=1m"
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8
Content-Length: 172

{"error":"ElasticSearchIllegalArgumentException[Failed to decode scrollId]; nested: IOException[Bad Base64 input character decimal 123 in array position 0]; ","status":400}

BUT it works if we pass them directly as /_search/scroll?scroll_id=SCROLL_ID&scroll=5m example:
curl -XGET "http://localhost:9200/_search/scroll?scroll_id=cXVlcnlUaGVuRmV0Y2g7NTs2MTE6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTI6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTQ6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTM6aDVVZlZSbU9SakstVkhFcFVuc3ctdzs2MTU6aDVVZlZSbU9SakstVkhFcFVuc3ctdzswOw==&scroll=1m"
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 7521

{"took":3,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":13,"max_score":1.0,"hits":[{"_index":"teste","_type":"materia","_id":"http://localhost/noticia/12/fast","_score":1.0, "_source" : {"Subeditorias":["Campinas e Região","SP","São Paulo"] ...

My suggestion:
Create a new method to deal with scroll search def scroll(scroll_id, scroll, ..) as elasticsearch.py does http://bit.ly/2gnhLXS and when creating the query pass it directly.
Something like this:
    @return_future
    def scroll(self, scroll_id,  scroll='5m', body=None, callback=None):
        path = "/_search/scroll"
        url = "{url}{path}?scroll={scroll}&scroll_id={scroll_id}".format(
            url=self.url, path=path, scroll=scroll, scroll_id=scroll_id
        )

        request_arguments = dict(self.httprequest_kwargs)
        request_arguments['method'] = "GET"

        if body:
            request_arguments['body'] = json_encode(body)

        request = HTTPRequest(url, **request_arguments)
        self.client.fetch(request, callback)

Hey @davinerd
Do you have interest in continuing this PR?

Hi @cristianoliveira
yes, let me work on this in the next few days.
I'll implement your code and fixes, then retest it and submit the new code.
Sorry for the delay.


Just a quick question

With the implementation of this packet capturing is it possible to edit packets (stats etc ) of a character and send it back to the server?

As stated in the Readme, this project does not support data sending to prevent random people trying to take down their servers.


Bug: codeVerifier is not set in sessionStorage (sometimes)

I have my web app running on domain 'xxx.com'. Earlier my login url was 'xxx.com:18080', therefore it had its own local and session storage.
Now my login url is 'xxx.com/auth'
The problem is that sometimes (seems randomly) the app may blink for a moment before redirect. In that case CodeVerifier is being set in sessionStorage and everything works fine.
But sometimes the blink does not happen and session storage is empty
Redirect URL has a code challenge, so codeVerifier has been indeed generated

As I say, it never happened when login page was on another port.
Do you have any suggestions?
Steps To Reproduce

Happens randomly (almost certainly in new incognito window)

The current behavior
PKCE_code_verifier is sometimes not being set in session storage
The expected behavior
PKCE_code_verifier is always being set in session storage

I can't say that I see any reason why this would happen, and certainly not depending on the port number used. Is that the only thing you've changed since getting these bugs?

Seems like a JS sessionStorage's problem. When changed from sessionStorage to localStorage problem dissapeared.

Ok, well it's good that the issue was resolved, but I'm curious as to what was the actual problem.
If you'd like to do more research into the issue, go ahead, otherwise feel free to close the issue.


replace current modal trigger with a global list

This is the structure of how how modals are currently being triggered
go func() {
	common.modalReceiver <- &modalLoad{
		...
	}
}()

Displaying the modal is a single threaded concept and the use of goroutines to trigger them is unnecessary. It is non-deterministic and racy. A function should be used for adding a modal to a global list of modals. The modal at the top of the list would be displayed and when the cancel button is clicked, it gets popped from the list.  If a modal must be displayed as a result of an external event, use a separate channel for those events and construct the modals in the same goroutine as the rest of the UI code.
This is a reference to Elias' review https://paste.sr.ht/~eliasnaur/cea1d29d6a5f96668b5e166c2f39ef596974574f

#460 closes this issue


Feature | Support differenct highlight for different asm

Partially finished by https://github.com/16bit-ykiko/vscode-compiler-explorer/commit/da8e5abc44a51eb4ac870f8e4bd62d577211acbf, more languages need to be further supported.

[x] x86Intel
[ ] x86AT&T
[ ] ARM
[ ] LLVM IR


added option for static vnode tokens

Issue #91
Added option static_vnode_token_group to set tokens in vnode configuration to a static set of groups.  3 groups are available for murmur3 and random partitioners: [group1, group2, group3]  Additional symmetric group is available on clusters with node counts of 1,2,3,4,6, and 12.  Not sure if symmetric adds value as it will never happen in real world but thought it would be interesting.
Currently limited to node counts <= 12 and only for 256 tokens per node.
Example:
{
  "revisions": [
    {"revision": "apache/cassandra-2.2", "cluster_name": "upgrading_cluster", "options": {"use_vnodes": true, "static_vnode_token_group": "group1"}}
  ],
  "title": "static vnode test",
  "log":"stats.version_overrides5.json",
  "operations": [
    {"type": "stress", "command": "write n=50K -rate threads=5", "wait_for_compaction": true }
  ]
}

Should the token blocks be formatted to the pep8 max line length?

LGTM. I haven't played much with tokens and vnodes yet. Would be good to have @EnigmaCurry or @ptnapoleon take a quick look at this. Thanks

Is there any meaning behind the chosen groups? Or did you just randomly generate them.

@belliottsmith can you take a look at static_vnode_tokens.py in this PR? Is this what you're looking for?

@ptnapoleon - Outside of the symmetrical one, no meaning.  I just scripted bootstrapping a 3.0 C* cluster with the different partitioners and extracted the tokens.

From a UI perspective, it would be nice to have a shared option across all runs for setting this (that could perhaps be overridden for special occasions), and for the "use vnodes" boolean to just be another option for a token group.
Otherwise it looks good, but I would ensure we have only one group per kind of allocation: non-vnode, static, random, and the results of one run of branimir's new allocation strategy, and named appropriately.

I've added a static token set from the new token allocation (CASSANDRA-7032).
removed extra groups and symmetric token groups
UI now has a pull down for token allocation with the options:

non-vnodes
vnodes (random)
vnodes (static-random)
vnodes (static-algorithmic)

in the json the use_vnodes boolean contract is still present and will use the random vnode allocation (same as before) behavior.  Existing json test files should run as expected with no change.
new json option token_allocation for setting with the options:

random
static-random
static-algorithmic

rebased on master and fixed conflicts
@EnigmaCurry and @aboudreault can you give it one more look before merging?

LGTM


Closing in manual update

Steps to reproduce

Open SY
Manually update a category

Expected behavior
The update continues normally without any failure
Actual behavior
The application closes automatically when updating the category
Crash logs
tachiyomi_crash_logs.txt
Tachiyomi version
1.7.0 - Preview 411
Android version
Android 7
Device
SAMSUNG
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version 1.7.0.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Should be fixed in the last few builds


adding Term of Use in spanish

Description:
Adding a Spanish version to the Terms of Use of the app
Linked issues:
Related ticket
Screenshots:

How to test:
Re-install the app if already installed to see the first onboarding page with the Terms of Use

No snapshots were updated after the command was runned


Adds stderr logging to scripts/build

This change adds logging messages for some of the various error scenarios in the build script that were previously handled with asserts.
Some examples:
>>> ERROR: Dependency declared with different variable name: `equal` & `./equals` in /Users/Scott/build/ramda/src/uniq.js

>>> ERROR: Dependencies not declared in alphabetical order in /Users/Scott/build/ramda/src/uniq.js

>>> ERROR: module.exports not positioned last in /Users/Scott/build/ramda/src/uniq.js

>>> WARNING: Top-level declaration `foo` ignored in /Users/Scott/build/ramda/src/uniq.js:23

The logic of the build script itself should not have changed.
> git checkout build-logging && scripts/build --complete > build-logging.js
> git checkout master && scripts/build --complete > master.js
> diff master.js build-logging.js | wc -l
0

Terrific! I'll make some comments on a few bits of code, but I :heart: this feature!

I've pushed another update addressing the comments so far (let me know if you'd rather I wait until it is ready to merge before rebasing).

:deciduous_tree:

Well, I agree that this is great stuff!  I'm going to have to look more carefully over the latest version when I'm not just about to go to bed, but this is very nice.
And I agree with David about the beautiful signature for abort.
I don't agree about the LISP-style indentation, but I don't care enough about it to argue about it.  I always use that style for LISP-derived languages, but never for anything else, and certainly not for JS.  I know David does, and I it's simply never seemed like an important issue.

:cow2:


satoshi-mediator should persist to db

Currently persists to a json file

Maybe it should have its own wallet too


EF.Functions.Like no longer works when casted.

Describe what is not working as expected.
EF.Functions.Like(*,*) is no longer working in version Version="3.0.0-preview8.19405.11" but only if the firstparameter is casted for example:
context.Set<MyEntity>().Where(e => EF.Functions.Like((string)(object)e.IntCol, "%1%"))

Further technical details
EF version:Version="3.0.0-preview8.19405.11
Database Provider: EntityFramework.SqlServer
Operating system: 10

I just stumbled across this bug while upgrading the Pomelo provider to 3.0 and was just about to suggest something like changing this line
https://github.com/aspnet/EntityFrameworkCore/blob/130fe39bed1c9351ba73a829aa14a6112108a6b2/src/EFCore.Relational/Query/ExpressionExtensions.cs#L16
into this
if (sql?.TypeMapping != null)

I will apply the match type mapping manually for now, but is the fix commit still making the 3.0 release?

It will be part of 3.1 release.

I am running Entity Framework Core 3.1.0-preview2.19525.5. I don't think this is resolved !
   var test = await _dbContext.Imports.Select(x => new
            {
                x.Id
            }).Where(x => EF.Functions.Like(x.Id.ToString(), "%1%")).ToListAsync();

Microsoft.EntityFrameworkCore.Infrastructure: Information: Entity Framework Core 3.1.0-preview2.19525.5 initialized 'dbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer' with options: None
Exception thrown: 'System.NullReferenceException' in System.Private.CoreLib.dll
Object reference not set to an instance of an object.
Exception thrown: 'System.NullReferenceException' in System.Private.CoreLib.dll
Object reference not set to an instance of an object.

@zulander1 I am not able to reproduce this--see my code below. Please open a new issue and include a small, runnable project/solution or complete code listing that demonstrates the behavior you are seeing.
public class Import
{
    public int Id { get; set; }
}

public class BloggingContext : DbContext
{
    private readonly ILoggerFactory Logger = LoggerFactory.Create(c => c.AddConsole());

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder
            .UseLoggerFactory(Logger)
            .UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Test;ConnectRetryCount=0");
    }

    public DbSet<Import> Imports { get; set; }
}

public class Program
{
    public static async Task Main()
    {
        using (var context = new BloggingContext())
        {
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            context.Add(new Import());
            context.SaveChanges();
        }

        using (var context = new BloggingContext())
        {
            var test = await context.Imports.Select(x => new
            {
                x.Id
            }).Where(x => EF.Functions.Like(x.Id.ToString(), "%1%")).ToListAsync();
        }
    }
}

SQL:
SELECT [i].[Id]
FROM [Imports] AS [i]
WHERE CONVERT(VARCHAR(11), [i].[Id]) LIKE N'%1%'

@ajcvickers nerve mind. There was something wired going with the project... Re-installed package to all project.. all working thanks


TabControl blocks UI thread when Item is added dynamically

What steps will reproduce this issue?
Given a TabControl with TabStripPlacement=Left
When a TabItem with Header="ServiceRegistry" is added dynamically
Then UI Thread is blocked
I guess this has to do with the recalculation of the column width.
It does not occure if the text is changed. I assume that I found a magic key word which causes this 😄
Expected outcome
No blocking UI Thread
Repo
MahAppTabControlIssue
Environment

MahApps.Metro v1.5.0
Windows OS Win10
Visual Studio 2017 15.3.5
.NET Framework 4.7
Display: ASUS PB287Q 4K --> 3840x2160

@helmerm I could not found an issue here. Tested on win 10 vs 2015, normal DPI. Is there anything else what can cause this?

@punker76 It only occures with the exact word "ServiceRegistry" on my machine. Maybe this issue depends on the resolution (mine is 3840x2160). What is yours?
I will try to reproduce it with different resolutions and try to figure out the text width which causes the issue.

@helmerm tested on 1920x1080 DPI 100% Intel HD-Graphics 530

@helmerm same result with 125% DPI

@punker76 I can reproduce this on my machine with different settings. I tried within and without Visual Studio, Release/Debug build, different resolutions and DPI settings.
However, it is not blocking the thread, but seems like causing some never ending recursion, which causes the UI thread to use 100% of its core. If I pause with the debugger, you can see the call stack bellow.

@helmerm wow... Can you try this with .NET Framework 4.6.2 or lower and maybe without MahApps...

@punker76 It only happens with 4.7, works with 4.6.1 or lower (I do not have 4.6.2 installed).
I am not sure, how I can reproduce it without MahApps. This seems to be related to the resize of the HeaderedPanelGrid Column (when the MetroTabItem is added) which depends on the control template...

@helmerm I have no idea what's going wrong on your machine. I've tested with my forked  repo and can't reproduce your issue. I've tested this on 2 different machines with different DPI and monitor size. Also with .Net framwork 4.6 - 4.7
So can you maybe test this also on a different machine? Is maybe your 4.7 not correct installed (maybe corrupt)
thx


Fix a broken link

@LazarusX : Thanks for your contribution to the Azure documentation! The author, @echuvyrov, has been notified to review your proposed change.

LGTM - thanks for catching that!
#signoff


Provide a possibility to pass metainfo by Hooks for SRT stream

Describe the feature
Problem
Since v1.2.1 it is possible to use the MTX_QUERY env variable with hooks like runOnReady, runOnNotReady, etc. It is extremely convenient as this gives the possibility to add some token to query and recognize the stream originator in the API invoked by the hook or pass additional meta in that invocation. But this does not work for the SRT type of stream. The MTX_QUERY is empty for SRT. I believe that this might be so because of security reasons as the query for the SRT might contain login and password.
In my use case, I need to identify the user that initiated the stream in the hook and it would be really helpful if there was a possibility to pass either the query as an MTX_QUERY env var or SRT login.
Possible solutions

Add the new optional part for srtNewConnReq that can have the semantics of query and be used as query of pathAccessRequest
Pass the entire  srtNewConnReq  as the query to pathAccessRequest and env
Add the new env var that reflects credentials where applicable

I would gladly provide a PR for the acceptable solution
Thank you!

Fixed by #2656


Can't you load with dracoloader?

I use dracoloader loading to appear
[.WebGL-0000023A9FD93560]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.

@lidonghai1 Basis handles texture compression, whereas Draco handles geometry compression. There's no reason you can't use both, they're independent, so if you're seeing errors with your demo I'd suggest using Stack Overflow or the forums for whatever WebGL engine (if any) you're using for the best help.

I think Don's answer makes sense, so I'm closing this.

Is it related to the resolution of the image? 768*1536 can be loaded

Could be, but hard to say without more information to reproduce. Note that if you're transcoding to PVRTC1, the texture's dimensions must be powers of two. https://github.com/BinomialLLC/basis_universal#gpu-texture-format-support-details


Swarm needs integration tests

Right now, we only rely on unit tests to ensure everything is working properly but that's not enough.
For instance, TLS was recently broken (https://github.com/docker/swarm/issues/341) and we didn't notice until a user reported the issue.
Integrations test should set up a real cluster of engines and daemons and test things such as:

TLS/PKI (swarm<->node and cli<->swarm)
End-to-end features (affinity, constraints, ...)
API endpoints (especially the proxied one)
Run against different versions of the engine and make sure we are compliant (both older versions and new versions).

This would also help validate that upcoming Docker releases are Swarm compatible.

Run against different versions of the engine and make sure we are compliant (both older versions and new versions).

Boot2docker does not seem to be a choice then.

@aluzzardi here's a quick and dirty framework to test cluster on my own.
https://github.com/chanwit/marine
Just in case if you're interested.

As framework in #448 is working great now, scheduling strategies need an addition set of integration tests too.

Spread in #458
Binpack tweaks in #451

Replaced by specific integration test issues (such as #492).


Overview section Total Payments Processed is coming as empty

"queryData": [
        {
            "successful_smart_retries": null,
            "total_smart_retries": null,
            "smart_retried_amount": 0,
            "smart_retried_amount_without_smart_retries": 0,
            "payment_intent_count": null,
            "successful_payments": 45,
            "successful_payments_without_smart_retries": 45,
            "total_payments": 50,
            "payments_success_rate": 90.0,
            "payments_success_rate_without_smart_retries": 90.0,
            "payment_processed_amount": 708800,
            "payment_processed_count": 45,
            "payment_processed_amount_without_smart_retries": 708800,
            "payment_processed_count_without_smart_retries": 45,
            "payments_success_rate_distribution_without_smart_retries": null,
            "payments_failure_rate_distribution_without_smart_retries": null,
            "status": null,
            "currency": null,
            "profile_id": null,
            "connector": null,
            "auth_type": null,
            "payment_method": null,
            "payment_method_type": null,
            "card_network": null,
            "merchant_id": null,
            "card_last_4": null,
            "card_issuer": null,
            "error_reason": null,
            "time_range": {
                "start_time": "2024-06-30T18:30:01.000Z",
                "end_time": "2024-07-31T18:30:00.000Z"
            },
            "time_bucket": "2024-06-30 18:30:01"
        }
    ]

Overview section Total Payments Processed should be taken from the metadata field.
Meta Data:

total_payment_processed_amount
total_payment_processed_count
total_payment_processed_amount_without_smart_retries
total_payment_processed_count_without_smart_retries


Custom status caveat

Custom status updates can only be used with builds from a webhook, when the Update commit statuses box is unchecked.

@mcncl, I rebased your branch to pick up changes yesterday that caused conflicts with existing branches.

There's no need to uncheck the "Update commit statuses"  box, it will create duplicate status but it will work. And it is correct that it only works for builds triggered by a webhook


db2: error on view definition

System information:

Operating system (distribution) and version win 10 x64
DBeaver version 6.2.1 CE

Connection specification:

Database name and version db2/zOS

Describe the problem you're observing:
Error is shown instead of view definition

We don't support view creation for LUW. You must use LUW driver.


Climate moment banner 3D

What does this change?

How to test

How can we measure success?

Have we considered potential risks?

Images

Accessibility

[ ] Tested with screen reader
[ ] Navigable with keyboard
[ ] Colour contrast passed
[ ] The change doesn't use only colour to convey meaning

 SPIKE - animated banner for climate


Tech debt: Investigate deepCopy usage in csi related resources creation

as suggested in PR comment we need to investigate and verify the usage of the deepCopy methods both within the csi packaged functions and the controller code as well.

Addressed in PR #107


Clicking in some areas of select highlights all following elements in page (Firefox)

In my Firefox 44, often, clicks in the select2, highlights all following elements in page (see image)

, which can be confusing for users.

Can you expand upon the issue you are facing by adding a few more pieces of information to your bug report?

What steps can be used to reproduce the issue?
What is the bug and what is the expected outcome?
What browser(s) and Operating System have you tested with?
Does the bug happen consistently across all tested browsers?
Can you reproduce this issue on the examples page?
What version of jQuery are you using? And what version of Select2?
Are you using Select2 with other plugins?

The contributing guide contains a useful section with a few questions which can help us track down the bug and speed up the process of finding a fix for it.  The creation of an isolated test case would also be useful.

Can you expand upon the issue you are facing by adding a few more pieces of information to your bug report?
What steps can be used to reproduce the issue?

Visiting the Examples page https://select2.github.io/examples.html

What is the bug and what is the expected outcome?

Clicking in some areas of the select2 highlights all following elements

What browser(s) and Operating System have you tested with?

Firefox 44 (Windows 7)

Does the bug happen consistently across all tested browsers?

Not in Chrome (48), IE (11) or Opera (tested in Windows)

Can you reproduce this issue on the examples page?

Yes, look at printscreen in my first comment

What version of jQuery are you using? And what version of Select2?
Are you using Select2 with other plugins?

examples page

Problem reproduced also in Firefox 33 (Mac) but not in Firefox Developer Edition 46 (Windows 7)

+1
Reproduced in Firefox 47.0 (Windows 10).

I will admit I've seen this option alot on firefire (from 43 onwards) but I always assumed I was just missing the correct area to click on.
As an observation, if you click on any of the elements inside of the drop down (text or the down arrow), this doesn't happen. It only happens if you click on whitespace outside of the text (it pretty much always happens if you have a placeholder text and then set the width to 100%, now click to the right of the place holder text and it should trigger it).

I notice this in my case too (ubuntu, FF 47). When it can be fixed? This bug excludes from using it.

My solution (use closest "container" div as dropdownParent):
$('.select2').each(function(){     $(this).select2({dropdownParent: $(this).closest('div')}); });
By default dropdownParent is body element.
You can also create other element next to select and use it as dropdownParent. I didn't check how it works with "z-indexed" elements.


docs(@astrojs/tailwind): migrate to the new names v4.0.0

In the Tailwind integration docs, there are docs for config.path and config.applyBaseStyles options.
In the<EMAIL_ADDRESS>release, the options have been renamed from config.path to configFile, and config.applyBaseStyles to applyBaseStyles.
That is<EMAIL_ADDRESS>is a breaking release and the docs do not reflect the same changes.
Proposed solution:
Change config.path to configFile, and config.applyBaseStyles to applyBaseStyles in the docs, which is located here

I'd like to make a PR changing this, if the maintainers are okay with it

Looks like it has already been changed. Closing this issue


Wrong path when globbing

When i use globbing in gulp I get a wrong path for sourcePath because file.path does not contain the folder names that the  ** will return.
To fix this I have to this:
sourcemaps.write({
      sourceRoot: function(file) {
        return path.dirname(file.path)
      }
    })

I did also get this commit in but it was reversed
https://github.com/floridoo/gulp-sourcemaps/commit/b0e8d03212df1f72c8213394175ac08ce143ba79#diff-168726dbe96b3ce427e7fedce31bb0bc
My solution works now, but it was not easy to find out and I had to dig into the sourcecode to figure it out.
My gulp task is really simple, so I thought this should be covered in the module.
gulp.task('sass', function () {
  return gulp.src('www/newgl/gateway/**/*.scss')
    .pipe(sourcemaps.init())
      .pipe(sass())
    .pipe(sourcemaps.write({
      sourceRoot: function(file) {
        return path.dirname(file.path)
      }
    }))
    .pipe(gulp.dest('./www/build/'));
});

But I think it is because i do something like this in the file that the glob returns
www/newgl/gateway/gl/style.scss
@import "../../main";

I think i misunderstood the options.base that you can give to gulp.src.


Historical graph?

Hi,
The screenshot in the blog post about the open source of Vizceral shows also a historical graph for each node ( https://2.bp.blogspot.com/-R3OvpmfJPAk/V5-ds9USmQI/AAAAAAAAAmE/ri3UgSwrcc8uw8hglR2rPWIiK5rFSJ-agCLcB/s1600/global%2Bgraph.png ).
Is there a way to enable it? (I've converted the example app to show our data - pretty cool thing by the way, thank you for this! - but that graph is not showing).

@rore are you seeing an JS logging in your web console? If you don't see it showing you should see some warnings.

In the web console I see the following -
There's one warning when the page loads:
THREE.WebGLRenderer: WEBGL_depth_texture extension not supported.
And on each data update there are a couple of warnings like this:
vizceral.js:70631 Attempted to create a connection from source node 'INTERNET' with a target node that does not yet exist: '...
Which I guess are due to some data issue between my connections and nodes.
Is the example app supposed to show these graphs with the example data? Because I don't remember seeing them even when I ran it with the sample data included.

@rore No, the example app does not have these graphs, this is normal, and has nothing to do with console logging. The graphs that are in the screenshot are pretty heavily tied into Netflix internal workings and I haven't had a chance to clean it up yet.  The graphs with historical data use a completely different data source than the Vizceral data source.
That being said, the dimensions that are used to place the divs are emitted in the nodeContextSizeChanged event.  It's poorly documented (https://github.com/Netflix/vizceral/blob/master/USAGE.md#nodecontextsizechanged), but if you capture the event, you will see the dimensions used for all of the graphs, and you can implement your own graphs, placing them using the emitted dimensions.  Anytime the graph resizes, the event is emitted again with updated dimensions.
Hope this helps!

Thanks!


Drag and drop on mobile

at the moment the drag and drop functionality (which allows boards to be re-ordered) relies on mouse clicks and mouse downs and doesn't handle touch events.
requested on the forum chat by: @donjjones

I'm gonna leave this till I am working on improvements for mobile - as drag and drop is a big enough task as it is!

Just fyi since I tested it: drag and drop currently doesn't work with a bluetooth mouse on iPad. But copying and pasting the field contents to move them around is functional (if tedious) workaround. (Easier with mouse and keyboard.)

Thanks for the report - good to know.  Mobile will be the next epic after desktop drag and drop is done (although there will be some other fixes/additions inbetween)..


Should the Win32 package be treated specially?

From https://github.com/commercialhaskell/stack/issues/2124 , it looks like the Win32 package got bumped between lts-5.15 and lts-5.16.  Perhaps the build process for stackage does not account for this being a ghc boot package on windows?

You're right, see discussion in https://github.com/yesodweb/yesod/issues/1231. New snapshots should be available soon

This has been fixed


Provide a set of valid and invalid configuration files for regression testing

Currently we don't have distinction between valid and invalid files, all the files are in tests/config_schema_examples we can introduce valid and invalid sub-directories to store valid and invalid configuration files for testing purposes. This allows for proper organization on where to store configuration examples and write tests for intended purpose. Both valid and invalid tests need to be written to ensure json schema is working properly.
config_schema_examples/
   invalid/
   valid/
      local-example.yml
      slurm-example.yml

@vsoch I already provided a set of valid configs and there is a directory structure but there are no invalid scripts.
Is this even the right approach? Should we still keep this issue open?

I think it would be logical to think of common cases that would be considered invalid that we'd really want to catch, like spelling errors for important keys, or adding an extra key. If we define that small set of cases, e.g.,

adding an option that isn't known
not having an option that is required
a spelling mistake for an important key

that should limit to possibly just three invalid tests.

Makes sense for first point adding an option that isn't known that the issue described in https://github.com/HPC-buildtest/buildtest-framework/issues/253
I think jsonschema should catch required section in the validate section
A spelling mistake for a key would be an unknown key, either it would be an unknown option or ignored depending if additionalProperties is set. Anyhow i dont know of how many edge cases we may have it may only be a few. I guess we can address this with ticket https://github.com/HPC-buildtest/buildtest-framework/issues/253 at same time.


Fix cell label rasterization on Linux platforms

This branch introduces $EnableLabelRasterizationWorkaround, which defaults to True on Linux, and which manually attaches cell labels in the right places. It is not 100% pixel accurate compared to the normal behavior on macOS, but I don't think should be a goal -- the underlying bug needs to be fixed upstream.
Example shown below (the setting of  $EnableLabelRasterizationWorkaround is so you can toggle the effect on your platform to see it do its thing, which should appear to be nothing on macOS and to make the labels appear correctly on Linux).

This change is

@daneelsan Can we confirm this fixes the issue on Linux before we merge this?

$ uname -a
Linux arch 5.9.11-arch2-1 #1 SMP PREEMPT Sat, 28 Nov 2020 02:07:22 +0000 x86_64 GNU/Linux

Thanks for testing @aokellermann !
But now I'm confused -- so you were using Linux and it rendered correctly before I introduced this fix, but not after? Now we need to understand why your Linux install rasterized the cell labels but @daneelsan did not -- perhaps he can run uname -a as well.
In any case, I've made a small tweak --so @aokellermann do you mind running again? Also, can you paste screenshots of the behavior after setting $EnableLabelRasterizationWorkaround = False and $EnableLabelRasterizationWorkaround = True? Thanks so much!

@taliesinb
master:

your branch:

@taliesinb @aokellermann
$ uname -a
Linux pop-os 5.8.0-7630-generic #32~1605108853~20.04~8bcf10e-Ubuntu SMP Wed Nov 11 22:42:16 UTC  x86_64 x86_64 x86_64 GNU/Linux

I had to reinstall the OS in my PC as I had some horrible issue. The label now appears in when I'm in the master branch:

There seems to be a cropping issue but the label is working (again in master branch).

Running @aokellermann examples:
master:

branch:

@daneelsan @taliesinb Shall we close this issue then, as it seems to have resolved itself?

Have you tried with "RasterizeInput" -> False?

@daneelsan, can you include the prior cells with the input so that we can try to reproduce?

RandomHypergraph[10] // HypergraphPlot

RasterizePreviousInputOutputAndExportToMarkdown["Test.png",
 "DryRun" -> True, "RasterizeInput" -> False]

I cannot reproduce the cropping issue on a Mac. I'm wondering if some of the hard-coded size constants need to be different on Linux.

I can however reproduce the cropping issue on Windows:

master:

this branch:

 $EnableLabelRasterizationWorkaround=True from this branch fixes the cropping on Windows as well.

Ok, it seems like things are inconsistent enough and strange enough between platforms that I cannot use Rasterize[Notebook[...]] to do anything, and need to resort to creating the complete image myself using my previous ImageColumn code. I will try to do this some time this week.

Closing for now due to inactivity. Can be reopened in the future if there are any updates.


32blit-stm32 - Formalise battery, volume, LED into a non-engine hardware API

Currently I've fudged a lot of the hardware control into the 32blit engine API, and it feels a little wrong to keep it here. Some of these things - battery for instance - have no equivilent in the SDL HAL (although one could argue they might).
That said does - for example - LED control really differ so much from reading the accelerometer conceptually?

Note: The battery API should not be exposed via the 32Blit engine, and should only be available to firmware. I think that's the state we're in now.


Consider a general @User annotation

(This is some reasoning for why #8 might be a good idea).
Currently @User is explicitly associated with @SaslPlain. That's a pattern that we could continue (e.g. @SaslScram might have its own user, and @SaslOauthBearer too). But that might be unrealistically restrictive. i.e. we're currently assuming that a provider can actually provision a user with a particular password. Some KaaS might allow to provision a user using some SASL mechanism, but not allow you to pick your own password.
So we should consider separating the declaration of a user from the credentials required to authenticate as that user. The author of a test typically doesn't care what the credentials actually are anyway. What they care about is having a number of distinct accounts (and possibly clients authenticated using those accounts). Having a bare @User annotation would also allow us to re-use it on client declarations, so specify that the client should be configured to authenticate as that user, with the provider responsible for generating passwords and supplying the JAAS config fragment needed for configuring the clients. i.e. That would allow us to express a test configuration like this:
@Test myTest(@User("alice") @User("bob") KafkaCluster, // a cluster with users alice and bob
             @User("alice") Producer<String, String> aliceProducer, // a client authenticated as alice
             @User("bob") Consumer<String, String> bobProducer) // a client authenticated as bob

The value of this is somewhat lessened unless we're also able to specify the authorization for users. And that gets verbose to do using annotations. i.e. to do this properly we end up needing to have declarative topics and ACLs, something like:
@Test myTest(
             @User("alice")
             @User("bob")
             @Topic("myTopic")
             @TopicAcl(topic="myTopic", principal="alice", operation=WRITE)
             @TopicAcl(topic="myTopic", principal="bob", operation=READ)
             KafkaCluster, // a cluster with users alice and bob
             @User("alice") Producer<String, String> aliceProducer, // a client authenticated as alice
             @User("bob") Consumer<String, String> bobProducer) // a client authenticated as bob

OTOH if we didn't have something like this, then we end up having to support methods on KafkaCluster to let people create users and ACLs in order to support tests like this.
It is probably the case that this level of abstraction is not necessary for Kroxylicious (we don't need to write lots of tests like this, where the Kafka cluster comes preconfigured with a bunch of authorization rules). So the question is really: "Do we want to leave this direction as a possibility in the future, or are we happy with stick with the existing per-mechanism users configuration, even though that might not be suitable for all providers"

TBH I see the sample with ACL's test and I want to scream! I feel like the abstraction is wrong somehow...
But then I don't end up with any better ideas.
I feel like KafkaCluster having providers for users, clients, topics and ACL might be a good place to start and then look at evolving the set of annotations based on that experience.  Or maybe we want a @ClusterBuilder so that users can programatically configure a cluster that the extension takes then takes care of making that a reality.


CouchPotato Category when adding Movie

Currently when adding a movie via the CouchPotato module it does not pass thru the category.

Thanks!

Thanks for reporting the bug :)


Allow custom redirects on the front end

Add in the ability to add the secure redirect field to the front end forms.
Also fix a bug where turning off 2 step on the front end always redirects to the admin cp.

@coxeh thanks! I'll have to do some testing, but it looks good.

@roelvanhintum I have manually tested both admin and the front end for my craft install and it seems to be working as far as I can see. Also thanks for making this plugin free it is very much appreciated.

@coxeh thanks!


Question: Add mean and std parameters to normal distribution

Hello,
I've observed that in core.random, when generating a normal distribution, we're limited to specifying just the shape, dtype, and PRNG key, without the option to set the mean and variance directly. While I understand we can adjust the generated samples by rescaling to achieve the desired mean and standard deviation, it seems it could be more convenient to include mean and std as optional parameters. Is there a specific reason for not incorporating these options?

I see np.random.normal has loc and scale parameters.
On the other hand, Jax random.normal does not.
I don't feel too strongly about it one way or the other. You can see from the two styles below including the params really doesn't save that much from a syntax standpoint:
std * mx.random.normal(shape=shape) + mean and mx.random.normal(shape=shape, mean=mean, std=std)
But the former might not be as clear to everyone, so from that perspective including the mean and std params seems reasonable..
If no-one comments here that we shouldn't do it, I would say feel free to send a PR.

Okay, thank you for the quick response. torch.normal and tf.random.normal also accept a mean/loc and std parameter so I think for most people it would be expected to be able to do this.

FYI: I created a pull request

I am closing this issue since the PR is merged


stop warning when logL==logL_birth==-inf

Currently we issue a warning when logL<=logL_birth, which includes the case logL==logL_birth==-inf. The latter has come up a number of times in my latest runs, spamming me with warnings, which ultimately are nothing to worry about.
This little PR silences this particular warning when  logL==logL_birth==-inf is the only occurrence of logL<=logL_birth.
Checklist:

[x] I have performed a self-review of my own code
[x] My code is PEP8 compliant (flake8 anesthetic tests)
[ ] My code contains compliant docstrings (pydocstyle --convention=numpy anesthetic)
[x] New and existing unit tests pass locally with my changes (python -m pytest)
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have appropriately incremented the semantic version number in both README.rst and anesthetic/_version.py

Code changes are simple enough that I'm happy, but I wanted to ask what your use case is?

Code changes are simple enough that I'm happy, but I wanted to ask what your use case is?

I have a bunch of PolyChord runs that produce rows with 0 weight, -inf loglikelihood, and 0 in all parameters (I believe this might have to do with the synchronous vs asynchronous PolyChord setup). A uniqueness check in anesthetic reduces these rows to a single one, which ultimately gets dropped alongside throwing this warning.
These rows are not really a problem (since they have zero weight), so they can be dropped without a problem, and should not need the warning. The warning was created for situations of logL_birth > logL, which comes up during importance sampling with a new likelihood.


Feature: Hide Clear ALL trashcans

Can you please add a toggle in settings to hide the delete all button from all GMs (as in the Trashcans on the left and side)

Hello @Zarhog
I see you are very short in words to describe what is what you are looking for and why you think Minimal UI should address this :)
If I understand correctly, the delete all from Context Menu (Right Click on item folders, etc), is beyond the scope of a UI module, I believe.

no on the left hand side under the tools, each catagotie comes with a
trash can, clicking on this trash can will delete all items associated with
it suich as wells. i wish to hide this trashcan and diable it so no one can
click on it
On Fri, Jan 14, 2022 at 12:28 AM Saif Addin @.***>
wrote:

Hello @Zarhog https://github.com/Zarhog
I see you are very short in words to describe what is what you are looking
for and why you think Minimal UI should address this :)
If I understand correctly, the delete all from Context Menu (Right Click
on item folders, etc), is beyond the scope of a UI module, I believe.
—
Reply to this email directly, view it on GitHub
https://github.com/saif-ellafi/foundryvtt-minimal-ui/issues/79#issuecomment-1012640509,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASG2HQWOCVCVO3Y7YCDB6Y3UV5U3JANCNFSM5LX4MESA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
 But I wouldn't want to enter that territory
with Minimal UI. Removing or adding functions is out of the scope of visual
adjustments, colors and sizes.
—
Reply to this email directly, view it on GitHub
https://github.com/saif-ellafi/foundryvtt-minimal-ui/issues/79#issuecomment-1019352707,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASG2HQXBMFS6VJSXWUCMERLUXMHODANCNFSM5LX4MESA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Dylan McLean


Ember data auto-detection - model name mismatch test

I was concerned this new feature didn't cover this edge case - but it does :)
While I was in there, I made these two tweaks:

add tests that make it clearer that this edge case is covered.
a minor readability refactor

@caseywatts unfortunately adding two fields with the same belongsTo breaks that Model for other tests:
Error: Assertion Failed: You defined the 'address' relationship on (subclass of DS.Model), but multiple possible inverse relationships of type (subclass of DS.Model) were found on (subclass of DS.Model). Look at http://emberjs.com/guides/models/defining-models/#toc_explicit-inverses for how to explicitly specify inverses
Maybe set up a new Model in the app that isn't used elsewhere to run these assertions? Or define the inverses?

oop good catch - done! ✨

cheers! 🍻


IPsec mode not working with IPv6 overlays

Describe the bug
In an IPv6-only cluster, trying to enable IPv6 doesn't work (so far I have tried with VXLAN tunnels only). There is no connectivity between Pods across different Nodes, and no IPsec Security Associations are being created.
To Reproduce
Apply the antrea-ipsec.yml manifest in an IPv6-only K8s cluster, check Pod connectivity.
Versions:
Antrea v1.4 and ToT
Additional context
I am trying to get some help from the strongSwan community: https://github.com/strongswan/strongswan/discussions/821
I actually did run some tests with GRE after tentatively adding support for the ip6gre OVS tunnel type (see https://github.com/antrea-io/antrea/issues/3150). However, because ovs-monitor-ipsec does not actually support ip6gre (https://github.com/openvswitch/ovs/blob/11441385c2f788320799ba29b344098b917d8827/ipsec/ovs-monitor-ipsec.in#L34-L80), no connection entries are generated in /etc/ipsec.conf. If we do manage to make UDP tunnels work, we should consider submitting a patch to OVS adding support for ip6gre.
If we cannot get help from the strongSwan community, it may be worth it to test with libreSwan to check if we run into the same issue.

I submitted an OVS patch for this after getting some help from the strongSwan folks: https://mail.openvswitch.org/pipermail/ovs-dev/2021-December/390357.html
I think we can apply this patch manually in our build until it is merged upstream.


[CARBONDATA-3962]Remove unwanted empty fact directory in case of flat_folder table

Why is this PR needed?
In case of flat folder, we write the data files directly at table path, so fact dir is not required. Fact dir is unwanted and present as empty dir.
What changes were proposed in this PR?
Remove empty fact dirs
Does this PR introduce any user interface change?

No

Is any new testcase added?

Yes

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3881/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/2140/

@akashrn5 please fix the build

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/2161/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3902/

@kunal642 i have fixed failures, please review and merge

LGTM


Provide a way to override default icon in a custom tab

Provide a way to override default icon in a custom tab for SQL Operations Studio extensions.
The simplest way would be to use the favicon provided by the document served in the extension.
That is usualy defined in the head of the tab document
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <title>My SQL Ops Studio extension</title>
  <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
  ...

This is probably a limitation on how vscode icons work:
From @anthonydresser :

@santiaago @kburtram from my experience in the past with vscode icons, it is a all or nothing sort of deal. A icon theme has to specify all icons to use, any not specified will just be blank.

To clarify the issue you are referring the the icon for query windows, correct?

@anthonydresser I am referring to the icon next to an extension window

Is this an extension window created by vscode.commands.executeCommand('vscode.previewHtml') or what other method?

This extension uses vscode.TextDocumentContentProvider
vscode.workspace.registerTextDocumentContentProvider(scheme, new MyContentProvider())

This is the same technique as vscode-arduino.
In general  there are many ways people can build extensions for SQL Operations Studio.
For extensions that are shown as a tab, giving the ability to override the favicon/tab icon allows for differentiation and it helps user find what they want faster.

This sounds like it may be an upstream issue for vscode to solve since it is across all extensions, both vscode and sqlops, and is really just a downside of how they have built the icon extensibility in. @kburtram thoughts

upstream issue.


How to avoid T_src = [0,0,0] when data_batch update?

Hi, I have another problem when training my own data, I found that when I send my initial src_pose to module.py fit function:
for iter_idx in range(train_iter_size):
     self.forward_backward(data_batch)
preds = self._curr_module.get_outputs(False)
 self.update()
print("module.py iter_idx:", iter_idx, train_iter_size)
if iter_idx != train_iter_size - 1:
data_batch = interBatchUpdater.forward(data_batch, preds, config)
the data_batch have chances to  output src_pose that T_src = [0,0,0],  this will cause bug in next iteration in RT_transform below:

I also wonder what differences between this 'camera' and 'camera_new' branch? if I set 'camera_new' flag, may the T_src be [0,0,0]?
many thanks!

Hi, you can do a clip on T_src[2] with a minimal value based on the distance from the camera to the object (for example 0.1 for LINEMOD, because LINEMOD's minimal distance is about 0.5).


[SILProfiler] Set up profiling for lazily-emitted functions

A SIL function that's initially only emitted as a declaration may later
be prepared for definition. When this happens, set up a profiler for the
definition.
This makes code coverage visible for private methods (the frontend
follows a declare-then-define pattern for these).
rdar://47759243
(cherry picked from commit 8936c1e1807b55dac12265760ad38a1f6402ea7f)

@swift-ci please test

@swift-ci please test

@vedantk CI is currently offline.

@swift-ci please test

@shahmishal thanks :)

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c340733c593be8386c9db113cf5d054d99421292

Build failed
Swift Test OS X Platform
Git Sha - c340733c593be8386c9db113cf5d054d99421292

The macOS tests failed with this:
WARNING: The file '/Users/buildnode/jenkins/workspace/swift-PR-osx/branch-swift-5.0-branch/buildbot_incremental/swift-macosx-x86_64/swift-test-results/i386-apple-ios7.0/lit-tests.xml' is an invalid file.
WARNING: At line 3 of file:/Users/buildnode/jenkins/workspace/swift-PR-osx/branch-swift-5.0-branch/buildbot_incremental/swift-macosx-x86_64/swift-test-results/i386-apple-ios7.0/lit-tests.xml:cvc-complex-type.4: Attribute 'errors' must appear on element 'testsuite'.
WARNING: At line 12881 of file:/Users/buildnode/jenkins/workspace/swift-PR-osx/branch-swift-5.0-branch/buildbot_incremental/swift-macosx-x86_64/swift-test-results/i386-apple-ios7.0/lit-tests.xml:cvc-complex-type.4: Attribute 'errors' must appear on element 'testsuite'.
ERROR: Step ‘Publish xUnit test result report’ failed: The result file '/Users/buildnode/jenkins/workspace/swift-PR-osx/branch-swift-5.0-branch/buildbot_incremental/swift-macosx-x86_64/swift-test-results/i386-apple-ios7.0/lit-tests.xml' for the metric 'JUnit' is not valid. The result file has been skipped.
but the iphonesimulator-i386 tests all passed.

The Linux tests had something similar:
ERROR: Step ‘Publish xUnit test result report’ failed: The result file '/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-swift-5.0-branch/buildbot_linux/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/lit-tests.xml' for the metric 'JUnit' is not valid. The result file has been skipped.
Let's try again....

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c340733c593be8386c9db113cf5d054d99421292

Build failed
Swift Test OS X Platform
Git Sha - c340733c593be8386c9db113cf5d054d99421292

@swift-ci please test

The test results came back clean this time.


What are requirements for RTE directory configuration?

The default RTE directory is documented here
Using output-dirs: it is possible to change this RTE directory. However output-dirs: is only possible at csolution level which means that it is impossible to define this locally for a project.  I don't think that this is what is required.
Given the fact that there is already a generator-dir: which was IMHO the initial reason for rtedir: I would ask the question: what are the real requirements for RTE directory configuration?

I'd need to configure the RTE paths in a way that

least possible code/file duplication
compatibility with Keil MDK/µVision
is preserved.

For 1:
We have some custom settings in the RTE_Device.h files, which depend on the build target (not the build config). But there's also lots of stuf that is the same for all build options, e.g. EventRecorder settings - I would love to avoid having the same contents in dozens of files under RTE/buildTarget/configTarget, it's error prone and almost every time we forget to update a file in one of these subfolders. Ideally, separation from customized/overwritten and auto generated, common RTE files would be implemented.
For 2:
We're building our code using a Docker image containing all the CMSIS-toolbox and toolchain stuff. The same image is used in CI/CD pipeline and on local machines via VSCode remote container to ensure that we're doing the same thing. From time to time the code must be debugged (and potentially re-built) using Keil MDK on the local PCs. Ideally no manual (or automated via Python script as it is the case now) patching of any files should be required. The RTE paths must be understandable by Keil MDK. And ideally the debugger settings, too.
BTW, will the cprj files be deprecated in v2? If yes, how can we use MDK then?

I'd need to configure the RTE paths in a way that

least possible code/file duplication
compatibility with Keil MDK/µVision
is preserved.

For 1:
We have some custom settings in the RTE_Device.h files, which depend on the build target (not the build config). But there's also lots of stuf that is the same for all build options, e.g. EventRecorder settings, or even default  - I would love to avoid having the same contents in dozens of files under RTE/buildTarget/configTarget, it's error prone and almost every time we forget to update a file in one of these subfolders.
For 2:
We're building our code using a Docker image containing all the CMSIS-toolbox and toolchain stuff. The same image is used in CI/CD pipeline and on local machines via VSCode remote container to ensure that we're doing the same thing. From time to time the code must be debugged (and potentially re-built) using Keil MDK on the local PCs. Ideally no manual (or automated via Python script as it is the case now) patching of any files should be required. The RTE paths must be understandable by Keil MDK. And ideally the debugger settings, too.
BTW, will the cprj files be deprecated in v2? If yes, how can we use MDK then?


Fix Account Key Type and CogServices SKU Location

Data Plane API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

Link to API Spec engagement record issue:

Is this review for (select one):

[ ] a private preview
[x] a public preview
[x] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

Design Document:
Previous API Spec Doc:
Updated paths:

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Schedule a data plane REST API spec review

Getting help

First, please carefully read through this PR description, from top to bottom.
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

"AccountKeyAuthTypeWorkspaceConnectionProperties": {

Is this definition used?

Refers to: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json:7105 in 365a992. [](commit_id = 365a99211930055ef1c82ef51b1d23b74fcf2616, deletion_comment = False)

It is not used in the GA Swagger, no. It is used in the preview swagger. We had planned to support the resource type that used this  definition in the GA swagger, but this was changed by PMs.

/azp run


workflow and steps submission

In GitLab by @laureD19 on Nov 16, 2022, 20:29
when creating a workflow and its steps and saving/submitted them, it creates as many workflow entries in the list of draft items, contributed items or moderation queue, as the number of versions created during the workflow creation process.
In other words, if a contributor creates a workflow and two steps, save as draft, they will see 4 times the workflow entry in the "my draft items" screen.
The same happens when the workflow is submitted, and re-accessed by the contributor from the "my contributed item" screen or seen by the moderator from "items to moderate" screen.
Example below form the "my contributed items" screen for a workflow with two steps (only submitted once):

also notify @KlausIllmayer @vronk

hmm so we actually do get these entries from the backend, e.g. https://sshoc-marketplace-api.acdh-dev.oeaw.ac.at/api/item-search?page=1&order=modified-on&d.status=suggested
question now is if this is caused by doing something wrong in workflow submission, or if this a backend issue.

some precisions on this one, based on stage item workflow/4tm28G still in suggestion mode.

As contributor, I create a workflow with 2 steps and submit it.
Instead of creating one version of a workflow, it seems that it creates THREE versions of the workflow: one without step, one with one step, one with two steps.
As moderator, I see the three versions of this workflow on the moderation queue. In my example: workflow/4tm28G/version/64315 ; workflow/4tm28G/version/64316 and workflow/4tm28G/version/64318

My take on it would indeed be that backend only creates one version of that workflow. But if it is not possible, could frontend only display the latest version on the moderation queue?
notify also @tparkola @KlausIllmayer @mkrzmr

pending implementation of https://github.com/SSHOC/sshoc-marketplace-backend/issues/470


For Osm Go to work with a subdirectory, we need to add the --base-href parameter to ng build
Example : ng build --configuration production --base-href=/OsmGo/
We can test this locally,
ng build --configuration production --base-href=/www/

for example with http-server
In root directory :  http-server .
"http://<IP_ADDRESS>:8080/www/ "  should work

I fixed the build cmd in the GH Actions pipeline. Running a deployment test now. I'll merge this PR once the deployment has been successful and I've reverted 30924e6.


added AT and RHO as colored tokens

@yegor256 I fixed objectionary/eo-intellij-plugin#15. AT and RHO tokens were added as keywords. See our SyntaxHighlighter

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 2min)


#547  Implement FieldNameConstants for lombok 1.18.4. With reworked enum support.

Codecov Report

Merging #587 into master will decrease coverage by 0.28%.
The diff coverage is 69.14%.

@@             Coverage Diff              @@
##             master     #587      +/-   ##
============================================
- Coverage     65.25%   64.97%   -0.29%
- Complexity     1520     1527       +7
============================================
  Files           179      180       +1
  Lines          5348     5436      +88
  Branches       1183     1194      +11
============================================
+ Hits           3490     3532      +42
- Misses         1384     1418      +34
- Partials        474      486      +12

Impacted Files
Coverage Δ
Complexity Δ

...ugin/action/delombok/DelombokEverythingAction.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...plugin/extension/LombokStructureViewExtension.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...in/language/LombokConfigCompletionContributor.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...extension/LombokRenameFieldReferenceProcessor.java
9.43% <0%> (-6.13%)
3 <0> (ø)

...intellij/plugin/extension/LombokElementFinder.java
61.76% <0%> (ø)
9 <0> (ø)
:arrow_down:

.../intellij/plugin/psi/LombokLightMethodBuilder.java
44.06% <100%> (+0.47%)
27 <0> (ø)
:arrow_down:

...ikov/intellij/plugin/psi/LombokLightParameter.java
41.66% <100%> (+2.53%)
3 <1> (ø)
:arrow_down:

...ion/delombok/DelombokFieldNameConstantsAction.java
100% <100%> (ø)
2 <0> (ø)
:arrow_down:

...hnikov/intellij/plugin/lombokconfig/ConfigKey.java
97.01% <100%> (-0.05%)
6 <0> (ø)

...intellij/plugin/psi/LombokEnumConstantBuilder.java
22.22% <22.22%> (ø)
1 <1> (?)

... and 14 more

Continue to review full report at Codecov.

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

Thank you! @alanachtenberg


capture_sequence with generator causes duplicate images

I'm trying to capture several images with capture_sequence while doing some operations in between them. My code looks like so (minimal example):
import picamera
import time

def outputs_generator():
    time.sleep(5)
    yield "0.jpg"
    time.sleep(5)
    yield "1.jpg"

if __name__ == "__main__":
    with picamera.PiCamera(resolution=(1640, 1232), framerate=40, sensor_mode=4) as camera:
        time.sleep(3)
        for i in range(1):
            camera.capture_sequence(outputs_generator(), 'jpeg', use_video_port=True)

Note that it waits 5 seconds, captures an image ("0.jpg"), waits 5 seconds, and captures a second image ("1.jpg"). The problem is that even though it should wait 5 seconds before taking the second picture, it doesn't seem to be doing so. The function takes 10 seconds to run, as expected, but "1.jpg" is almost identical to "0.jpg" even if I move the camera during those 5 seconds in between yields. It's almost like the camera is capturing two images back-to-back, storing the second one in an internal buffer of some sort, and returning that second one in the second yield, but really it should be waiting for that second yield before capturing the second image. This seems semi-related to https://github.com/waveform80/picamera/issues/433.
NOTE: This issue only occurs when use_video_port=True. If I set it to False, it works as expected.
While it seems nonsensical to have a sleep like that in between capture frames, it's just for demonstrating the issue. In reality, in the generator function changes some GPIO pin outputs between frames to change the lighting conditions.

As expected.
The video port is designed for capturing video. As long as buffers can be found to write into then it will keep taking images. There are typically at least 3 images in the pool to allow for at least double buffering on the display. If you want to slow the image capture rate then you need to amend the frame rate.
The stills port is designed for capturing stills and waits until a trigger parameter is set on the port. I suspect that PiCamera will do that after the output handler completes, therefore it is delayed by your sleeps.

Got it. Is there a way to reduce the pool size, so it only buffers 1 image?

@6by9 Any thoughts on how to reduce the pool size so it only buffers 1 image?

You can't sensibly as the pool is used for preview and many other things.
If you really want one frame every N, then encode to MJPEG and split the stream. Each frame is a self-contained JPEG.

@6by9 It's not that I need one frame every N milliseconds or such. It's that I need it to not capture an image until the generator function yields. That is, if I do something like change the lighting, then yield the buffer, the image that is returned in the buffer must show that lighting change (not be an image that was buffered from before the change).


v6.2.0 incompatible with sequel-rails

v6.1.0 and previous were okay, but v6.2.0 is doing something that is causing my models to be loaded before sequel-rails sets up the database connection resulting in
Sequel::Error:
  No database associated with Sequel::Model: have you called Sequel.connect or Sequel::Model.db= ?

I've spent the last while trying to figure out how to get things loaded in the same order as before, but I've run into only dead ends.
It appears the problem happens in both rails 5.2.3 and rails 6.0.0.
Does anyone have any clues?

Load order bugs could be due to the initializer discussed in https://github.com/kickstarter/rack-attack/issues/452

I finally found a solution by requering the sequel rails railtie right after boot in config/application.rb .
require File.expand_path("../boot", __FILE__)

require "sequel_rails/railtie" # early load this manually due to https://github.com/kickstarter/rack-attack/issues/456

I tried to mess with Rails::Application.config.railties_order , but neither putting sequel rails first, nor rack-attack last made any difference.
I'm going to close this, just putting this info down in case others come later searching.

Hi @will,
Thank you for reporting this.
I was able to at least reproduce the fact that rack-attack affects the initialization order of sequel-rails in respect to config/initializers/* loading.
See the following test app: https://github.com/grzuy/test_app_rack_attack_456/commits/master. In particular this commit: https://github.com/grzuy/test_app_rack_attack_456/commit/ac8430f516ac995b790e829955d49b8bd8cad75b.
I temporarily recommend moving gem 'rack-attack' to the bottom of the Gemfile if possible, until we release a fix for this.

Load order bugs could be due to the initializer discussed in #452

Thanks @eliotsykes ,
I agree these are related bugs.

I'll have to wait until tomorrow to check for real, but I'm super surprised that the order in the gemfile determines load order!

Fixed in v6.2.1.


Project: Rate My Professor

Project Name
Rate My Professor
Description
rate my professor give you the detail of your professor, so that while choosing subject we can understand which one might be the best.
data source

json file

vectordb

pineconedb

AI

gemini and openrouter

Technology & Languages

[X] JavaScript
[ ] Java
[ ] .NET
[X] Python
[ ] AI Studio
[ ] AI Search
[ ] PostgreSQL
[ ] Cosmos DB
[ ] Azure SQL

Project Repository URL
https://github.com/TenzDelek/ratemyprof
Deployed Endpoint URL
No response
Project Video
Demo
Team Members
TenzDelek

@TenzDelek, looking for your Project Video, please update ASAP.

Hello @tenzdelek, thank you for participating in RAG Hack!
The team is working hard to distribute badges. Please have each team member fill out this form:
aka.ms/raghack/badge-dist
Thank you!


 This constructor returns a block that can be invoked from any thread, and blocks the caller until the Dart callback is complete.
Under the hood it has two modes, depending on whether it's invoked from the same thread as the isolate that created the block, or a different thread. If it's on the same thread, it uses a NativeCallable.isolateLocal, and doesn't need anything special to get blocking behavior. If it's on a different thread, it uses a NativeCallable.listener, and uses an ObjC condition variable, NSCondition, to wait for the callback to complete. This difference avoids deadlocks in the on-thread case.
Async callbacks aren't supported in either case. It would be trivial to support them in the off-thread case, but difficult/impossible in the on-thread case. So to avoid semantic differences I'm just not supporting them at all.
There are still edge cases where it's possible to deadlock. If the target isolate has shut down, and the block is invoked from a different thread, then it will send a message to a non-existent isolate and wait forever to be signaled. To mitigate this case we use a timeout when waiting on the condition variable. That timeout can be set by the user.
The different behavior on-thread vs off-thread means we need two Dart-side trampolines, and two blocks passed to the native block wrapper. You can see how it all works by looking at the new ObjC-side trampolines. For example:
_ListenerTrampoline _ObjectiveCBindings_wrapBlockingBlock_1j2nt86(
    _BlockingTrampoline block, _BlockingTrampoline listenerBlock, double timeoutSeconds,
    void* (*newWaiter)(), void (*awaitWaiter)(void*, double))  NS_RETURNS_RETAINED {
  NSThread *targetThread = [NSThread currentThread];
  return ^void(id arg0, id arg1, id arg2) {
    if ([NSThread currentThread] == targetThread) {
      objc_retainBlock(block);
      block(nil, objc_retainBlock(arg0), objc_retain(arg1), objc_retain(arg2));
    } else {
      void* waiter = newWaiter();
      objc_retainBlock(listenerBlock);
      listenerBlock(waiter, objc_retainBlock(arg0), objc_retain(arg1), objc_retain(arg2));
      awaitWaiter(waiter, timeoutSeconds);
    }
  };
}

Part of #1647. Non-void callbacks and blocking protocol methods are left as follow up work.
Details

The condition variable is created and managed by 3 new functions in package:objective_c: newWaiter, signalWaiter, and awaitWaiter.

Under the hood these manage a DOBJCWaiter, which just wraps an NSCondition and a bool flag. The flag is needed because whenever you wait on a condition variable, there can be spurious wake ups.
In the normal flow of the off-thread case, each of these functions should be called once per invocation.
newWaiter returns an object with a +2 ref count, and the other two each decrement the ref count by 1.

Due to linker restrictions in google3, I can't tell users to use the clang linker flags that would allow the ffigen generated .m file to dynamically link the newWaiter and awaitWaiter functions from package:objective_c. So instead I'm passing them down as function pointers. That's what package:objective_c's new wrapBlockingBlock function is for.

coverage: 88.389% (+0.4%) from 88.032%
when pulling 35f84ceb042b234818951ceea6d15a7d3ef1dde1 on blockblock
into 4d81ce6c5e17164ef63d8a3f5144e5def0702207 on main.

There is a Duration typedef in IOMacOSTypes.h:
typedef SInt32 Duration;

This gets added to the native bindings as:
typedef Duration = SInt32;

You probably need to add a new header to your generated code like:
import 'dart:core' as core;

and then generate:
core.Duration(seconds: 3)

You probably need to add a new header to your generated code like:
import 'dart:core' as core;

Apparently if you do this, you have to prefix all the built in types too: core.bool, core.int...
I'll just add Duration to the keyword list, so that the Apple one gets renamed.

Some high level questions:

Add a new .blocking() constructor to all ObjC blocks that return void. This constructor returns a block that can be invoked from any thread, and blocks the caller until the Dart callback is complete.
Under the hood it has two modes, depending on whether it's invoked from the same thread as the isolate that created the block, or a different thread. If it's on the same thread, it uses a NativeCallable.isolateLocal, and doesn't need anything special to get blocking behavior. If it's on a different thread, it uses a NativeCallable.listener, and uses an ObjC condition variable, NSCondition, to wait for the callback to complete. This difference avoids deadlocks in the on-thread case.

Could we implement this as NativeCallable.blocking in the Dart SDK so it can be reused by interop for other languages?

Async callbacks aren't supported in either case. It would be trivial to support them in the off-thread case, but difficult/impossible in the on-thread case. So to avoid semantic differences I'm just not supporting them at all.
There are still edge cases where it's possible to deadlock. If the target isolate has shut down, and the block is invoked from a different thread, then it will send a message to a non-existent isolate and wait forever to be signaled. To mitigate this case we use a timeout when waiting on the condition variable. That timeout can be set by the user.

Since this depends on NativeCallable.listener, isn't calling that callback after the isolate has been shut down undefined behavior? (Assuming that if the isolate is gone it has the same semantics as if close were called.)

This callback must be closed when it is no longer needed. The Isolate that created the callback will be kept alive until close is called. After NativeCallable.close is called, invoking the nativeFunction from native code will cause undefined behavior.

https://api.dart.dev/dart-ffi/NativeCallable/NativeCallable.listener.html

Could we implement this as NativeCallable.blocking in the Dart SDK so it can be reused by interop for other languages?

Yes, but that's a more complicated change to make. It would also mean waiting on a Dart release before I can make the corresponding ffigen changes and unblock cupertino_http. I'm also not aware of any other use cases that need it (other than jnigen, which already has a solution like this one).

Since this depends on NativeCallable.listener, isn't calling that callback after the isolate has been shut down undefined behavior? (Assuming that if the isolate is gone it has the same semantics as if close were called.)

Is your concern that it might do something unexpected, like crash? IIRC, that's technically possible, but in practice I think it pretty much always just does nothing.
Or is your point that we shouldn't worry about deadlocking in this case, since it's UB anyway, and the timeout is unnecessary?

Could we implement this as NativeCallable.blocking in the Dart SDK so it can be reused by interop for other languages?

Yes, but that's a more complicated change to make. It would also mean waiting on a Dart release before I can make the corresponding ffigen changes and unblock cupertino_http. I'm also not aware of any other use cases that need it (other than jnigen, which already has a solution like this one).

We had users upvote it, I'm fine with landing a custom solution here first. However, I'd like to avoid building the custom solution here in a way that would be incompatible with with https://github.com/dart-lang/sdk/issues/54554.

Since this depends on NativeCallable.listener, isn't calling that callback after the isolate has been shut down undefined behavior? (Assuming that if the isolate is gone it has the same semantics as if close were called.)

Or is your point that we shouldn't worry about deadlocking in this case, since it's UB anyway, and the timeout is unnecessary?

Yes, it's UB. So providing an API gives the false security that it's a covered case. Also, I think it would make the API imcompatible with basing it on NativeCallable.blocking later.

Is your concern that it might do something unexpected, like crash? IIRC, that's technically possible, but in practice I think it pretty much always just does nothing.

If we have use cases where users have callbacks outliving isolates and we can guarantee that it's not UB, we should upgrade what we guarantee in the Dart SDK before adding guarantees in FFIgen/JNIgen.

https://github.com/dart-lang/sdk/issues/54554#issuecomment-2253003469
@brianquinlan For cupertino_http, is it important which thread executes the Dart code? In the NativeCallable.blocking design discussions, we discuss two options: (1) the caller thread is blocked and whatever thread is the Dart mutator thread will execute the Dart code and possible callbacks into native code, (2) the caller thread executes the Dart code and possible callbacks into native code, which requires the Dart mutator thread ceeding control.
Option (2) cannot be implemented on top of NativeCallable.listener, so this PR has semantics (1).

dart-lang/sdk#54554 (comment)
@brianquinlan For cupertino_http, is it important which thread executes the Dart code? In the NativeCallable.blocking design discussions, we discuss two options: (1) the caller thread is blocked and whatever thread is the Dart mutator thread will execute the Dart code and possible callbacks into native code, (2) the caller thread executes the Dart code and possible callbacks into native code, which requires the Dart mutator thread ceeding control.
Option (2) cannot be implemented on top of NativeCallable.listener, so this PR has semantics (1).

@dcharkes I didn't understand the framing of your question. There are Apple APIs where it is important that the callback execute the Dart code before exiting. The one API that I'm currently using that his this property is for file downloads, where the API works like:
downloadFile(Uri uri, callback) {
  download the file to `path`
  callback(path)
  unlink(path)
}

So, if the logic for callback isn't completed before the return to the caller, then the file will be deleted and the callback is useless.

@brianquinlan I think the distinction Daco is making is between the approach in this PR, where the caller thread is blocked while the Dart code is executed on a VM managed thread, vs one of the other approaches from my old design docs, where the caller thread tries to enter the target isolate and execute the Dart code on the caller thread.

@brianquinlan I think the distinction Daco is making is between the approach in this PR, where the caller thread is blocked while the Dart code is executed on a VM managed thread, vs one of the other approaches from my old design docs, where the caller thread tries to enter the target isolate and execute the Dart code on the caller thread.

What is the semantic different from the user's POV?

What is the semantic different from the user's POV?

The only differences I can think of is that the current approach marshals args into a message (whereas the other approach could invoke the Dart function directly), and the fact that any thread-local storage would have different data (only relevant if your Dart code calls back into native code that uses TLS).

Yes, it's UB. So providing an API gives the false security that it's a covered case. Also, I think it would make the API imcompatible with basing it on NativeCallable.blocking later.

Ok, I'll remove the timeout.

What is the semantic different from the user's POV?

The only differences I can think of is that the current approach marshals args into a message (whereas the other approach could invoke the Dart function directly), and the fact that any thread-local storage would have different data (only relevant if your Dart code calls back into native code that uses TLS).

Yes, thread local storage. And also if the calling native thread has acquired a lock with reentrancy support, and the Dart code calls back into native code and tries to acquire that lock again.
However, we first need to solve thread pinning (https://github.com/dart-lang/sdk/issues/46943#issuecomment-901757840) for that to work. So, I don't think we can promise to semantics (2) any time soon.
We can probably switch from semantics (1) to semantics (2) later without breaking people. It would be very weird if people would rely what the Dart mutator thread is and use its TLS and thread-identity for locking. (And it would be broken, because the mutator thread can change.)


STYLE: Remove casts from MersenneTwisterRandomVariateGenerator::hash

Moved duplicate code into a lambda, replacing two unsafe C-style
pointer casts by a static_cast, and removing two unnecessary
static_cast<unsigned int> casts.

@Leengit  Another "spin-off" from your pull request #3342  😃

FYI, the original code as added by Daniel Blezek (@blezek), commit 352e56087fadc01f52ac9f076554555a0799cbc0, 6 October 2005, did not have those two casts from size_t to unsigned int either:
https://github.com/InsightSoftwareConsortium/ITK/blob/352e56087fadc01f52ac9f076554555a0799cbc0/Code/Common/itkMersenneTwisterRandomVariateGenerator.h#L260-L273

Off-topic, here is an explanation of why UCHAR_MAX + 2U was used as factor used as factor for multiplication: Ben Pfaff - How should I pick the value to pass to srand()? saying:

The factor used for multiplication normally comes out as 257, a prime and therefore a good candidate.

the hash code would work either way

Yes. The point is to produce pseudo-random numbers, not to produce the same sequence on each platform.

I did think that this implementation produced the same sequence on all platforms given the same seed.
Hans

You are probably right Hans. It should be the same, since summation is order-independent.

Side note:  https://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine. I was curious if the C++11 implementation could replace the custom implementation.
It seems that @N-Dekker has dome some work to verify that the results are the same already:  Modules/Core/Common/test/itkMersenneTwisterRandomVariateGeneratorGTest.cxx
This is just a curiosity at this point.

FWIW, I am still thinking that this hash function will produce different answers on big endian vs. little endian platforms.  And, I am still thinking that that is perfectly okay.

FWIW, I am still thinking that this hash function will produce different answers on big endian vs. little endian platforms.

@Leengit Thanks for sharing this peculiar finding of yours!

And, I am still thinking that that is perfectly okay.

I think I'm neutral. I don't really like that the outcome of the hash function appears to depend on "endianness".  But on the other hand, this code by Lawrence Kirby been used on so many places already, for so many years (as I mentioned at https://github.com/InsightSoftwareConsortium/ITK/pull/3361#discussion_r841940681) that I feel reluctant to adjust this logic right now.

Merge?


Implement client-side GraphQL query for homepage data

User Stories

As a user, I can see every user's thoughts listed on the homepage of the application

We are now displaying all thoughts on the homepage.


Having problem to push data

Hi,
I have configured newrelic-elixir and configured and running but give an error when pushing data.
Here is error details:
[error] NewRelic.Poller: push failed: %CaseClauseError{term: {:error, {{:noproc, {:gen_server, :call, [:undefined, {:socket, #PID<0.664.0>, 'collector.newrelic.com', 443, true}, :infinity]}}, [{:lhttpc_manager, :ensure_call, 6, [file: '/home/azhar/evercam/evercam-media/deps/lhttpc/src/lhttpc_manager.erl', line: 236]}, {:lhttpc_client, :execute, 9, [file: '/home/azhar/evercam/evercam-media/deps/lhttpc/src/lhttpc_client.erl', line: 145]}, {:lhttpc_client, :request, 9, [file: '/home/azhar/evercam/evercam-media/deps/lhttpc/src/lhttpc_client.erl', line: 93]}]}}}

Please help me to solve this issue.

Hi,
thanks for trying our library. Unfortunately it's in a very early stage and we currently halted further development.
Right now I would recommend using one of the other mentioned packages ( e.g. https://github.com/romul/newrelic.ex ) instead as although we got a working prototype running most of the code is untested and due to internal refocusing we did not yet have the time to continue developing this library further.
I will make sure to state this more clearly in the readme.


[DEVOPS-121] Added AdminUser DB check.

Description
The current shipshape configuration provided by scaffold tooling does not currently validate/remediate the active configuration for the is_admin property on user roles.
Proposed solution
Introduce a new check drupal-admin-user that will sift through all active user roles in the DB and flag those that have is_admin set to true.
The check configuration should also allow specific roles to pass the check, if needed.
drupal-admin-user:
    - name: '[DATABASE] Active user roles admin check '
      severity: high
      allowed-roles:
         - site_admin
         - superuser

I think I'll need to refactor tests too. Will do so soon :)


kotlin source directories not analysed when android variant is used

Expected Behavior
Code under src/variant1/kotlin should be analysed when gradle detektVariant1Debug task is run
Observed Behavior
Only code under src/variant1/java is analysed
Steps to Reproduce
DetektBug.zip sample project with one variant and 4 classes with same naming issue:

Test1 under src/main/java
Test2 under src/main/kotlin
Test3 under src/variant1/java
Test4 under src/variant1/koltin

When running gradle task detekt I get issues in Test1 and Test2, but when running detektVariant1Debug, I get issues only in java files - Test1 and Test3
Your Environment
Tried android gradle plugin version 4.2.0, 7.0.0, 7.1.0 - same result, using detekt 1.19.0

Thanks for providing a reproducer 🙏 Here the fix https://github.com/detekt/detekt/pull/4554

Link JLLeitschuh/ktlint-gradle/issues/524, kotlin sourceSet should be added from AGP 7.0.