Allow case sensitive enum values

Added setting case_sensitive_enums to allow case sensitive enum values in the generated code.
This solve the issue in #587 .
Also, to avoid collisions, changes the prefix for values not starting with alphanumeric characters from VALUE_ to LITERAL_.
How could it happen
Consider the case [1, "1bc"], the previous code would assign the enum VALUE_1 to the first item (aka the VALUE_ prefix plus the int value of the item) and the same enum VALUE_1 for the second item (the prefix VALUE_ plus the position of the non-alphanumeric value in the list).
The new code avoids that and use different prefixes for integer values (VALUE_{value}) and string starting with non-alphanumeric  characters (LITERAL_{sanitised_value}).

I had submitted https://github.com/openapi-generators/openapi-python-client/pull/1095 before seeing that this fixes the same issue. I've closed mine, but it did include one other change that I think might be good to add to this PR: skipping duplicate values.
It is totally valid in OpenAPI (though pointless) to have a list of enum values like ["A", "B", "B", "C"]; since that is just saying "the value must be A or B or B or C", it would make sense for the generator to treat it exactly the same as ["A", "B", "C"] (by using a set to keep track of what values have been seen), but currently it throws an error instead.

Also, if I understand correctly, the only reason this PR is flagged as "breaking" is the change to the prefix logic (VALUE_, LITERAL_). I agree with the rationale behind that change, but to avoid unnecessarily breaking people's code that is relying on the current behavior, maybe it would be best to make that part an opt-in via a config option?

@eli-bl about your comments above:

using a set instead of a list to remove duplicates enum values, it's a good idea but I reckon makes sense to do it in a different PR (it's not strictly related to the scope of this PR, so it can be done independently)
about having a config to handle the new enum behaviour and avoid breaking changes, I've already added this in the ConfigFile here https://github.com/expobrain/openapi-python-client/blob/5560f549c70ee216f4382ad812063b448958a0ee/openapi_python_client/config.py#L46 setting the default value to the current behaviour; let me know if this makes sense

@expobrain:

about having a config to handle the new enum behaviour and avoid breaking changes, I've already added this in the ConfigFile here

I see the new config option, but it looks to me like you're only using it to control the new case-sensitivity behavior.
The other new behavior you added was using LITERAL_ instead of VALUE_ for string values that start with a non-alphanumeric character (here). I understand the rationale for that, but I think it is a breaking change— since the PR is applying that new logic always, not just if the config option is set.
(Btw, you've added me as a reviewer but I'm not a maintainer of the repo, just someone else who has submitted PRs; I commented on this one because I had started working on the same thing before I saw yours)

And... at the risk of being nitpicky and overthinking things, I do have some other thoughts about the VALUE_ vs. LITERAL_ thing.
First, I do think that it should be a config option because it's a breaking change... but it really doesn't have anything to do with case-sensitivity. It's just that you happened to implement it in the same PR. If I were someone trying to use the generator and having this [1, "1bc"] type of problem, I probably wouldn't think of setting config.case_sensitive_enums.
Second, although your decision to use VALUE_{index} for numeric values vs. LITERAL_{value} for string values has the advantage of preserving the existing behavior for some values, I'm not sure that that is an advantage, because the current existing behavior of VALUE_{index} is (in my opinion) kind of counter-intuitive for numeric values. That is, if I have an enum whose values are 1, 5, and 6, it's not very useful to have the symbols be VALUE_0, VALUE_1, and VALUE_2. Having the actual value be part of the name, as you're doing for strings, would be both more intuitive/useful, and more consistent with how it works for all other values.
I don't feel super strongly about this, and I'm guessing that "string property whose allowable values all start with digits" is not a very common pattern anyway, but if you think I have a point, one way you could address it would be something like:

For numeric values, use VALUE_{value} (not VALUE_{index}).
For string values that don't start with an alpha character, use VALUE_STRING_{value}.
Both of these new behaviors are gated by a single config option that is not the case-sensitivity option. I can't think of a great name, but the concept it would be trying to convey is "enum constant names always contain the value, even if the value isn't a valid name by itself".

So, this would be a bigger breaking change in the sense that my [1, 5, 6] example would now produce VALUE_1, VALUE_5, and VALUE_6, but I think that is arguably desirable, and using VALUE_STRING_ instead of LITERAL_ makes it a bit clearer why there would be two different prefixes (numeric values are literals too).
There's also a way that you could avoid having to have a config option for case-sensitivity: turn on the case-sensitive enum behavior only if you detect that there would be conflicts otherwise. That is, take a pass through the list and see if there are any pairs like "A"/"a". That way something like ["a", "b"] would still produce A and B like before, so it's not a breaking change. And something like ["a", "b", "A"] would now produce a and b and A, but that wouldn't be a breaking change because prior to the change, the generator would've simply been unusable for that spec.

Superceded by #1114, which I think will add enough flexibility for anyone who needs it. Thanks for this early version!

Superceded by https://github.com/openapi-generators/openapi-python-client/pull/1114, which I think will add enough flexibility for anyone who needs it

How to judge "enough flexibility" is subjective of course, but for what it's worth, here are two counter-arguments for why #1114 could still be desirable.

The enum pattern is idiomatic. If there's a parameter with several possible values, and the API client provides a type name for that, then being able to write something like Sort.ASCENDING makes it clear what's going on (and makes it very easy to click through to see how that type is defined).
Since the "literal enums" option is global, there is a potentially big migration problem for people maintaining existing APIs. This definitely applies in my own use case: this API has a lot of enum types, and there are a lot of developers out there using a generated client for it, so they have a lot of references to things like Sort.ASCENDING. I now have the task of adding one enum type that happens to have the conflicting-names problem (due to values like ["A", "a"]). If my only option is to turn on "literal enums", then all of that existing code will break.

If my only option is to turn on "literal enums", then all of that existing code will break.

Totally fair, and ideally we could enhance this option to be applicable to individual enums, rather than only globally. Maybe a match on $ref would be enough?

The enum pattern is idiomatic

Unfortunately it's not possible to render every OpenAPI document into idiomatic Python. For example, enum variants should, idiomatically, be screaming snake case. But obviously that auto-conversion doesn't always work.
It's possible we could allow one-off variant name overrides in another separate config so that folks can produce idiomatic Python values. Ideally, they'd also be able to use this to explain to consumers why "A" is different than "a".

Unfortunately it's not possible to render every OpenAPI document into idiomatic Python. For example, enum variants should, idiomatically, be screaming snake case. But obviously that auto-conversion doesn't always work.

Sure, I get that. OpenAPI doesn't align smoothly with Python or lots of other languages, and the generator can't be expected to cover every use case in a way that'll please everyone. And the literal enum option is useful.
I should've made it clearer that what I'm arguing for is just a little more granularity in this feature. That was brought up early on, but then your latest comment suggested that just being able to turn it on or off globally was enough flexibility... so what I was getting at was that a lot of people have gotten used to using the formal enum class pattern, and I would find it hard to explain to them why they have to stop using it for 99% of my API because there is 1% that it wouldn't be a good fit for.


Discriminator "fieldName" is not set in ClassMetadata

When a discriminator column is defined with a field name (property "fieldName") the corresponding value in ClassMetadata is set to the column name (property "name") instead.
It is my understanding that this should only occur as a default when no field name is configured.
I observed this behavior using the AnnotationDriver:
/**
 * @ORM\Entity
 * @ORm\DiscriminatorColumn(fieldName="discriminatorField")
 */

But from what I've seen in the code XmlDriver or YamlDriver should behave the same in that regard.

Closing as invalid as per https://github.com/doctrine/doctrine2/pull/6817#issuecomment-354667371


configure option --with-wllvm= needs correction

The configure script should look for wllvm script in either  or /bin: Newer versions of wllvm is installed in /usr/local/bin, s.t. we want to be able to just specify --with-wllvm=/usr/local

I think it is best to leave it as binary installation directory (e.g., /usr/local/bin) for more flexibility.


chore(docs): markdown linting and improved documentation

moves all quick start and deployment documentation to the docs website
updates all docs website content, including requirements and instructions
keeps developer documentation (local Python or Typescript) development docs in respective source code sub-directories
updates developer documentation, including a centralized DEVELOPMENT.md, CODE_OF_CONDUCT.md, SECURITY.md and CONTRIBUTING.md
updated the CONTRIBUTING.md with pre-commit, ADR, and commit/PR standards
improves existing issue and PR templates
adds markdown-lint and reorganizes pre-commit file
centralizes markdown-lint configs to root of repository
standardizes the usage of "LeapfrogAI" instead of "LeapfrogAPI", "Leapfrog" and other incorrect variants

For seeing the preview of the docs website, and use this every time you see a ref to the docs website during your review: https://deploy-preview-902--leapfrogai-docs.netlify.app/
For viewing the Markdowns uninterrupted: https://github.com/defenseunicorns/leapfrogai/tree/711-754-579-578-571-567-332-markdown-linting-and-improved-documentation


Support immediate volumebindingmode storageclass and shared pvc used by multiple pods

What would you like to be added:
1、Support immediate volumebindingmode storageclass
2、Support shared pvc used by multiple pods
Why is this needed:
1、Some commonly used distributed storage in production, such as cephfs、glusterfs，are  Immediate mode.
2、Some products used pvc to store commen files, so pods needs to access the same pvc

/assign @zhouhaoA1

增加Kosmos对Immediate绑定模式StorageClass的支持.docx

my solution is in file, thanks for review


Fix for #13: add xml.xsd and update bf-2.xsd schemaLocation

Hi,
I was facing the error describe as #13.
This pull request fix the error:
onvif.exceptions.ONVIFError: Type not found: '(lang, http://www.w3.org/XML/1998/namespace, )'

It updates the schemaLocation in bf-2.xsd and add xml.xsd.
Regards,
Michel.

Thanks for your pr


[bug][plugin-fs] Access events not being generated on Windows

Hey there. I am trying the FS plugin on Tauri v2.0
OS: Windows 11
I basically want to track changes in a particular directory. I can see the plugin working well in:

WatchEventKindCreate
WatchEventKindModify
WatchEventKindRemove

However I am not getting any event for WatchEventKindAccess. Is there any compatibility issue on windows? Or that should be working there as well?

This isn't exactly clearly documented in the upstream project: https://docs.rs/notify-types/1.0.0/notify_types/event/enum.EventKind.html#variant.Access

Only some platforms are capable of generating these.

But looking at the source code it looks like the Windows implementation indeed doesn't contain that event. The crates are pretty solid imo so i assume this is indeed an OS limitation.

@FabianLars, yes, you are right. I can confirm since I did a quick demo with just the Notify crate and had exactly the same issue.


Add Winbindex Lookup

Hey,
thank you a lot for providing this useful tool!
I tried adding a Winbindex Lookup, which is a project that tries to document every known windows binary.
See Winbindex and Winbindex - Introduction for reference.
I think this would make for a useful addition to the SOC-Multitool.

Hey,
Thank you for supporting the project and adding this feature!


Changing project folder name

@eli6462  "WindowsFormsApp3 (matrix calculator)" should be changed to simply "Calculator" or something more suitable and aesthetic

Done.


Not built for osx-arm64

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
This package is not currently being built for osx-arm64, the architecture of newer M1 MacOS machines.
Can you please add this architecture?
Alternatively, I think the code is pure python, so you should be able to convert the recipe to a noarch recipe and avoid having to worry about per-architecture builds.
Installed packages
N/A

Environment info
N/A

To make this a noarch python package an entry point will need to be added for the griffe script
in the build section of the recipe:
build:
   noarch: python
  entry_points:
      - griffe = griffe.cli:main

https://conda-forge.org/docs/maintainer/knowledge_base.html#apple-silicon-builds

I see there is a python 3.7 dependency on cached-property, so that rules out noarch python, but I think you can still do noarch generic.

Hmm. There actually don't seem to be any noarch generic python packages on conda forge, so I guess this isn't well supported.
However, the recipe could simply unconditionally depend on cached-property even if it is only needed for python < 3.8.


Optimization and weight_decay on the final linear classifier

Hi everyone,
Thank you all for your hard work! :)
I have a question regarding the management of optimization for the incremental linear classifier. In the following, I use the FineTuning approach as an example.
Here the definition of the optimizer when self._cur_task != 0
optimizer = optim.SGD(
                self._network.parameters(),
                lr=self.args["lrate"],
                momentum=0.9,
                weight_decay=self.args["weight_decay"],
            )

In the function self._update_representation, within the training loop and using the above optimizer, you execute the following lines:
logits = self._network(inputs)["logits"]
fake_targets = targets - self._known_classes
loss_clf = F.cross_entropy(
    logits[:, self._known_classes :], fake_targets
)

loss = loss_clf
optimizer.zero_grad()
loss.backward()

I understand that by using logits[:, self._known_classes:], you consider only the new classes as desired in the cross-entropy loss (the others are already trained during the previous steps). However, in the optimizer, you include all the network parameters ( self._network.parameters()), particularly all the parameters of the linear head. Consequently, the weight decay (set to 0.0002) should also influence the weights related to the old classes. Is this correct?
If this is true, I suppose this is not a desired behavior because the optimum of the weight regularization for weights that are not involved in the cross-entropy should be zero.
Many thanks!

Hi @CodingTomo ,
Thanks for using PILOT. When training in the incremental stage, we only calculate the cross-entropy loss for the new classes, so the gradient will not propagate back to the parameters of the old classes, ensuring their parameters remain unaffected.


Improve TrackedFloat-wrapping functions

Per discussion on RXInfer.jl#116 it would be nice to have some functions to make it easier to wrap inputs in the TrackedFloat type.

Concretely:

track(x) to traverse the array x and replace all floats with TFs. Use TrackedFloat64 as the default but allow changes.
@track foo(...) to replace all Float-like types in the function signature with TF

Is 2 needed? I'm thinking no, because TF is a subtype of the matching floats and the type alone doesn't do any converting. (foo(4.2) would be an error).

I think it'd be neat for 2 if we could hijack the original function so if it gets called with non-TrackedFloats, we wrap it and then call again.

Yes, that'd be great! Just like a Python decorator.


fixed the typo

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I have read the CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

@MilanSavaliya, please recreate a PR for develop branch. We are not maintaining master branch.


Mvc Resolver is not "attaching" as expected.

I tried the AddMvcDependencyResolver as demonstrated in the GETTING_STARTED.md but it does not appear to work as expected.
I added the Mvc Package (have been using the base fine in this web forms project for a couple of weeks now).
    public static class ApplicationStart
    {
        private static ApplicationDependencyInjection resolver;

        public static void PreStart()
        {
            resolver = new ApplicationDependencyInjectionBuilder()
                .ConfigureServices(ConfigureServices)
                .AddMvcDependencyResolver()
                .Build();

            Debug.WriteLine("CurrentResolver: " +
                System.Web.Mvc.DependencyResolver.Current.GetType().FullName); // <-- this outputs the type for the default mvc resolver.
        }

        private static void ConfigureServices(IServiceCollection services) { /* unrelated */ }
}

I think the DependencyInjectionMvcDependencyResolver ctor is missing a call to DependencyResolver.SetResolver( this );

Hmm, good catch!
I do remember my unit and integration tests for ASP.NET MVC passing though - I need to find out why those tests were passing when something like this should surely mean they shouldn't pass, hmm.
I'll report back soon.

It seems the same is true for WebApi. Nothing is setting up the DependencyResolver for that client, and I can't quite get it out of the injected space.

I've added the fix for WebAPI support in #25.

We are running into the same issue for WebAPI, any updates on this?

Do any of you have a project that reproduces the issue that you can put in an emailed zip or github gist or repo?

@StandBackBurrito ASP.NET Web API uses  a different mini-resolver class. The code in this thread is specific to ASP.NET MVC.

I was responding to @watfordgnf comment and the changes he made in #25.
Let me see if I can create a minimal repro.

@Jehoel I have created a project setup the same way ours is. It has a VB webforms app with some webapi controllers.
The DI setup is done in a C# in another project.
https://github.com/StandBackBurrito/WebApiDIRepro
Let me know if you have any questions
thanks

I've just published version 5.0.0-beta01 which I think fixes this issue - can you verify that at your end?
https://www.nuget.org/packages/Jehoel.AspNetDependencyInjection/5.0.0-beta01
https://www.nuget.org/packages/Jehoel.AspNetDependencyInjection.Mvc/5.0.0-beta01

Hey all,
Was this ever resolved? I have added and configured this package in an ASP.NET Web Forms project and all is good, but I just added MVC and now get this error when executing a controller.
"No parameterless constructor defined for this object"

I've been testing 5.0.0-beta02 in a .net 4.7.2 project and MVC controller injection is working.
@daiplusplus  Any plans to publish a release version without the beta tag?


DataFrame.concat does not perform the right way?

I am trying to concat 2 DataFrame together, but the one in pandas got 2m lines while the dask one got 2000004.
Codes are below, for more details, please refer to https://github.com/littleDing/pandas_benchmarks, it's all in test_dask.py.
Am I missing anything or am I using it the wrong way?
@log_run_time
def test_pandas(paths):
    schema, feas, batch_size, label = get_simple_format()
    buff = []
    for path in paths:
        data = pd.read_csv(path, names=schema, dtype={ fea:np.uint64 for fea in feas }, sep='\t')
        buff.append(data)
    data = pd.concat(buff).reset_index()
    return data
@log_run_time
def test_dask(paths):
    schema, feas, batch_size, label = get_simple_format()
    buff = []
    for path in paths:
        data = dd.read_csv(path, names=schema, dtype={ fea:np.uint64 for fea in feas }, sep='\t')
        buff.append(data)
    data = dd.concat(buff).reset_index()
    data = data.compute()
    return data

def main():
    data1 = test_pandas(['./sample_data.int48.txt' for i in range(2) ])
    data2 = test_dask(['./sample_data.int48.txt' for i in range(2) ])
    # should be all zero except the index column
    print (data1 - data2).sum()

    data1 = test_pandas(['./sample_data.int48.1m.txt' for i in range(2) ])
    data2 = test_dask(['./sample_data.int48.1m.txt' for i in range(2) ])
    print data1.shape, data2.shape
    print type(data1), type(data2)
    # should be all zero except the index column
    print (data1 - data2).sum()

I'll look more closely later, but in general you would pass a globstring of files to dd.read_csv, rather than concatenating.

This seems to have gone stale.
@littleDing if you're able to provide a minimal reproducible example that would help.
Closing for now.  Happy to reopen if there is still active interest.


how to prompt for specific content

monacoInstance.trigger('aa, 'editor.action.triggerSuggest', {});
I want to prompt some custom content，I don't know how to do it

Can you clarify your question?


Event Timestamp

Provide Event objects with a timestamp field when generating one (in EventGenerator). This is probably valuable for analytics.

Fixed as of #27.


”Berezeni”, ”Mușata”, ”Rânceni”, ”Satu Nou”, ”Stuhuleț” are listed in the drop-down menu

Description:
When user writes ”Berezeni”, ”Mușata”, ”Rânceni”, ”Satu Nou”, ”Stuhuleț” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Berezeni"

Expected results
The location appears in the drop-down menu as "Sat Berezeni, VASLUI (Berezeni)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Mușata"

Expected results
The location appears in the drop-down menu as "Sat Mușata, VASLUI (Berezeni)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Rânceni"

Expected results
The location appears in the drop-down menu as "Sat Rânceni, VASLUI (Berezeni)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Satu Nou"

Expected results
The location appears in the drop-down menu as "Sat Satu Nou, VASLUI (Berezeni)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Stuhuleț"

Expected results
The location appears in the drop-down menu as "Sat Stuhuleț, VASLUI (Berezeni)".


Fix crash in H2 priority tree cleanup.

Removing the code to remove the stream from the ConnectionState stream list in Http2ConnectionState::release_stream.   Most of the time Http2ConnectionState::delete_stream is called before Http2ConnectionState::release_stream.  But if it is called the other way around, delete_stream will exit right away and the logic to remove the stream from the dependence tree is not executed.  That leaves references to deleted streams.

This will resolve the issue, and removing the line from release_stream makes sense since delete_stream has to be called before release_stream. However, if I understand correctly, we should land both this fix and my fix(#2774), right? Because this fix still depends on the safety net (calling delete_stream in Http2Stream::destroy).

This fix made things a lot better, but not perfect.  One crash overnight instead of a crash every 10 minutes.  The core shows a "bad" node in the dependency try.   So we probably need a combination of the two fixes.  I just compiled a binary with this fix and your fixes.  I simplified that a bit to just always call delete_stream and then release_stream in Http2Stream::destroy().  I don't see the value of calling delete_stream, release_stream, delete_stream.  The second delete_stream will always be an immediate return.

We want this for 7.1.2 I assume? I cherry-picked #2774 to 7.1.x already.

@shinrich I’m fine with this but should we wait for the combinated and simplified update?

Pushed another set of changes.  I spent yesterday iterating over a variety of changes, but each fix would continue to crash which what appeared to be stale Nodes in one of the Http2DependencyTree queues.  On @SolidWallOfCode's advice, I added "in" methods to the PriorityQueue and Http2DependencyTree and ran last night with asserts that in was false at the end of Http2DependencyTree::remove.  It failed two times last night, both on the same stack, see below.  I added another lock within Http2ConnectionState::delete_stream.  That code has been running on my prod box for a couple hours.  Will let it keep cooking today as prime time east coast comes on.  But so far so good.
The changes at this point include

Remove the remove from the Http2ConnectionState stream_list in release_stream.  This fixed the every 10 minute crash.
Integration of @maskit's fix by pulling a call to delete_stream into the Http2Stream::destroy_method.  This gives us our "safety" net.  The delete_stream should be called before the release_stream to avoid race conditions with Http2ClientSession going into keep-alive mode too soon.
null out the Http2Stream reference to priority_node.
Addition of the test "in" methods.  I have the asserts commented out because I have performance concerns about them build run all of the time.  As I understand things, the argument to the ink_asserts is still evaluated even if the assert is turned off.  But the methods might be useful for future debugging.

My test version also had event tracking on the XMIT and FINI events, but that didn't seem to help much, so I didn't push forward those changes.
#0  0x00002ac493258495 in raise () from /lib64/libc.so.6
#1  0x00002ac493259bfd in abort () from /lib64/libc.so.6
#2  0x00002ac490da00cc in ink_abort (message_format=0x2ac490db603c "%s:%d: failed assertion `%s`")
    at ../../../../trafficserver/lib/ts/ink_error.cc:99
#3  0x00002ac490d9d696 in _ink_assert (expression=0x807be9 "!this->in(nullptr, node)",
    file=0x807bc5 "Http2DependencyTree.h", line=246) at ../../../../trafficserver/lib/ts/ink_assert.cc:37
#4  0x0000000000670355 in Http2DependencyTree<Http2Stream*>::remove (this=0x2ab08b366c90, node=0x2ac509b7b000)
    at Http2DependencyTree.h:246
#5  0x000000000066c2e5 in Http2ConnectionState::delete_stream (this=0x2ac545751a50, stream=0x2ab25f053d20)
    at Http2ConnectionState.cc:1137
#6  0x00000000006696fd in rcv_rst_stream_frame (cstate=..., frame=...) at Http2ConnectionState.cc:482
#7  0x000000000066b4fe in Http2ConnectionState::main_event_handler (this=0x2ac545751a50, event=2253,
    edata=0x2ac5002a28f0) at Http2ConnectionState.cc:914
#8  0x00000000005246cc in Continuation::handleEvent (this=0x2ac545751a50, event=2253, data=0x2ac5002a28f0)
    at /home/shinrich/yats_build/trafficserver/iocore/eventsystem/I_Continuation.h:153
#9  0x0000000000663e1b in send_connection_event (cont=0x2ac545751a50, event=2253, edata=0x2ac5002a28f0)
    at Http2ClientSession.cc:58
#10 0x000000000066617b in Http2ClientSession::do_complete_frame_read (this=0x2ac545751800)
    at Http2ClientSession.cc:485
#11 0x0000000000666373 in Http2ClientSession::state_process_frame_read (this=0x2ac545751800, event=100,
    vio=0x2aad1e865c80, inside_frame=false) at Http2ClientSession.cc:522
#12 0x000000000066592c in Http2ClientSession::state_start_frame_read (this=0x2ac545751800, event=100,
    edata=0x2aad1e865c80) at Http2ClientSession.cc:415
#13 0x00000000006650db in Http2ClientSession::main_event_handler (this=0x2ac545751800, event=100,
    edata=0x2aad1e865c80) at Http2ClientSession.cc:317
#14 0x00000000005246cc in Continuation::handleEvent (this=0x2ac545751800, event=100, data=0x2aad1e865c80)
    at /home/shinrich/yats_build/trafficserver/iocore/eventsystem/I_Continuation.h:153
#15 0x000000000079ec2c in read_signal_and_update (event=100, vc=0x2aad1e865b50) at UnixNetVConnection.cc:144
#16 0x00000000007a1bc6 in UnixNetVConnection::readSignalAndUpdate (this=0x2aad1e865b50, event=100)
    at UnixNetVConnection.cc:1092
#17 0x0000000000782c6c in SSLNetVConnection::net_read_io (this=0x2aad1e865b50, nh=0x2ac495711c00, lthread=
    0x2ac49570e010) at SSLNetVConnection.cc:596

@masaori335 It's priority tree stuff :)

A couple crashes overnight after I removed my outstanding event tracking.  Adding them back in my test build.

Fighting possibly unrelated issues on my test machine today, so I am not confident on my enhancements to this PR.   I think what is here is definitely much better than what we started with.  I think there are still crashes, but once or twice a day instead of once every 10 minutes.    I will continue to work on this tomorrow.   But we may want to take this and get it moved over to 7.1.x if we are getting ready to make drop there.

@maskit We ok with landing this as-is, and cherry-pick to 7.1.x ?

@zwoop Yeh, this should be cherry-picked.

Cherry-picked to 7.1.2

Looks like PR #2339 (already cherry-picked to 7.1.2) solves the rest of the issue I was seeing.  Without this fix, some priority nodes would get stuck in the grandparent of the tree, and not get cleaned up correctly.  So with PR #2339 should all be good.


License footers under "Fortran intrinsics" not rendering correctly

The license footers in the Fortran intrinsics manpages are not rendering correctly.
See an example below from https://fortran-lang.github.io/webpage/en/learn/intrinsics/array:

@p-costa @awvwgk this is not a bug but a typo made in the jekyll site. as there are 7 '#' instead of 6 max headings predefined and renders them as ####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost  . We can surely change all the 212 md files of all the intrinsics file.
Thanks and Regards,
Henil Shalin Panchal
CC @awvwgk


Repository: What direction this repository should take?

Hey guys!
I have noticed that @ahoneybun added a user interface to work with the backlight on an S76 laptop. This is awesome, but it makes me wonder, @roaldi, should this repository become "Keyboard Color Switcher"? or should I make another repository and use what I have pushed here?
The work I have put in the battery-backlight can easily be integrated into a GTK Application. I already have the configurations and everything. I mean, it has a lot of work put into it, and the effort to make a UI out of it would be fun and relatively easy!
You are the owner of the repository. It is your call. It also depends on how comfortable you are in this situation. 😄

I would love help with the tool! Please do let me know!

@ahoneybun I am down to help out 😄

:tada: https://github.com/ahoneybun/keyboard-color-chooser

I would say it should be (and has already started to be) a central hub for scripts and projects. Collect scripts and link to other repos.
@JeffLabonte There probably shouldn't be a Makefile in the main folder since more things are being added now.

@yochananmarqos More than I think about it I should probably change my PR to remove the Makefile altogether

I would like this to be first and foremost  a central point for scripts and other repos to be shared from.  I feel part of what I want this to be is a jump point for creativity, where someone sees a script they can use, a config file that's useful, etc.
That being said, I do think it would be worth pursuing a single GTK application that is a meaningful combination of the most popular/most useful items. Something like that would be mainly advertised for those less code-savvy people that still want to do cool things.

Are we talking about just the keyboard features then? If so then I agree, the rest of the stuff may be tough to link together.

I think the keyboard features will probably be a big part. Not only is it a very visible part of the laptop, shiny, blinky lights interest everyone. But also adding in stuff to make all the nice stuff the System76 firmware adds accessible to everyone should be the goal.

I feel like backlight-battery should have its own repository since it has become quite quickly a piece of software of its own. We could add submodules to this repository linking all the projects that we want.
The user interface being worked out by @ahoneybun could be a submodule in this repository instead of having a whole copy of the project. We could make this repo a hub of scripts as you describe it.
I could distribute backlight-battery on Pypi and adapt it to work a few more things, such as KCC. As you might have noticed, I am working as a software engineer, so I am kind of code-savvy :stuck_out_tongue:

Yeah, I like that, I think. This repo just being a crossroads, with my own sprinkling of bash-ery, leading to the more serious stuff you guys have done.

Like I mentioned to @ahoneybun, I didn't expect this much response, or rather, this serious a response. I thought it was going to be a collection of shell scripts that people could grab and use as they wanted. Definitely don't regret this direction, however.

Thank you everyone for taking the time to answer my question! I really appreciate it :smile:


gitignore updated with vim stuff

I forgot I even did this. Doesn't let me get the newest version if you don't approve it.

If you give me write access to the repo, I can solve pull requests too


[Concurrency] Set preconcurrency for actor isolation created from unsafe global actor attributes.

@MainActor(unsafe) is the old spelling for @preconcurrency @MainActor. They mean the same thing, so set the preconcurrency bit when computing actor isolation from an unsafe global actor attribute. Otherwise, calls to unsafe global-actor-isolated functions from outside the actor will not be diagnosed as warnings under complete concurrency checking.
Resolves rdar://121218325

@swift-ci please smoke test

@swift-ci please smoke test


Vulnerability roundup 84: statistics-<IP_ADDRESS>: 1 advisory

search, files

[ ] CVE-2014-6293 (nixos-20.03)

Scanned versions: nixos-20.03: 82b5f87fcc7. May contain false positives.

This came up last time, too: #79734. It's a false positive. Maybe you could add a filter?


Use dependency from creates io for orml packages.

add [patch.crates-io] for:

orml-traits = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37" }
orml-currencies = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37" }
orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37" }

use

orml-... = { version = "0.4.1-dev" }
instead of
orml-... = {git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false}

@RustNinja do we actually need to patch the orml dependencies in spacewalk though? Or would this only be required for pendulum/amplitude/foucoco? We are not using any bifrost dependency in spacewalk itself do we?

Oh. yes. you 100% right.
We do not need any [patch.crates-io] in spacewalk.
We need it in the pendulum.
Will close this PR at all.
If we need to use crates dependency instead of git for orml packages please, let me know.

Okay perfect, got it.


Fix scala rules with bazel HEAD

Bazel HEAD has removed //tools/defaults:ijar, rules should
now depends on @bazel_tools//tools/jdk:ijar.

/cc @johnynek

Thanks, sir!


nixos/logkeys: fix evaluation

Motivation for this change
Gave an evaluation error before
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks!


Change DataPoint to array of pointers

Fix for https://github.com/zorkian/go-datadog-api/issues/145

Thank you! Could you please run make generate, and add the updated datadog-accessors.go to this PR?

@ojongerius I ran make generate but no changes were made to  datadog-accessors.go


xyz.jpenilla.tabtps.common.messages instead of text

Describe the bug
There are no translations in TabTPS, instead there are codes
Steps to reproduce
1.Download and install HTTPS on the server
2.Enable TPS in the Tab menu
3.Press Tab
Logs
No response
Additional context
No response

Please follow the mod incompatibility template


Add extra button configuration options

This allows buttons to be a png image or different color, along with spacing and line thickness options.
Fixes #26.

@BowDown097 @f-l-y-b-o-y and anyone else interested: Can you try this and see if it works well enough?

Everything seems to work. One thing about the image options is that the images aren't scaled to the size of the other buttons, so you have to manually adjust the image size.

Yes, this is intentional.

Could also be nice to have support for a bitmap format like XBM, or maybe a vector format like SVG, where the image bits can easily be adjusted to the button color (some environments like labwc have support for this), but that may be a bit of an ask.

This is a NAK for now. I'd rather not depend on extra image loading libraries.

Thanks to all that helped test!


Update ckeditor up to 4.4.7_full

Due to a lot of bugs with old ckeditor, i decided to update ckeditor. May be it be useful for others.

:+1:

Hi guys!
Master had broken CKEditor icons and an obsolete version for a long time.
Are there any plans to merge this?

looks like rich is dead :confused:

:(
@sponomarev the last merge was 2 months ago, but I'm afraid you are correct :(
Years ago this gem was the best way to include CKEditor in your app, but the official gem definitely picked up the pace.
I find that the best feature of this gem is its refined file upload capabilities, which I cannot give up as the backend of our largest app depends on this.
I believe that the way things are now, this gem should be stripped down to become a set of CKEditor plugins and server-side upload receiver.
In the next week I'll work on it on my fork.

 Unfortunately my team at @kreativgebiet/development is not able to maintain the gem at the moment due to massive client work. If you are interested in developing and contributing to this gem please feel free do pull requests or tell me that you want to be an active part of the gem and I will give you the contributor role.

Can anyone tell, if this PR is working for you?

I use @donbobka  fork for about half a year, and it's completely working

Hi @iDuuck ,
thanks for letting us know about the status of maintenance, it's nice to see that it's not discontinued.
I really appreciate that you came back to us despite your workload.
Regarding my plan to "reduce" rich to its awesome-file-upload features, I personally think that it would be the best choice for everyone:

maintenance can focus on upload and CKEditor integartion only
gem users will always have a up-to-date editor, with the little inconvenience of a few more config steps

I'm currently in the process of upgrading our largest web app to Rails4.2.
Given the tight schedule, if the @donbobka fork works, I believe that it's in the best interest of our compnay that I first use the fork and complete the upgrade.
However, if @iDuuck and your colleagues agree on my point of view, I am definitely up to contribute to this right after being done with the upgrade process and submit a pull request for inspection when ready.

Thanks for your kind words,@cec.
I am merging this pull request in the evening to be part of the main repository again.
If you want to, I will set you as an contributor after the first pull request!

Hi @iDuuck ,
sry for the late reply, I was out of order (ill) yesterday.
Does your answer imply that you agree with my idea about reducing the scope of Rich's functionality?

@cec Yeah, that was my implication. Though, there should be a tag or at least branch that keeps the old features.

Hi @iDuuck ,
great news!
I absolutely agree on that.
I saw your merge, I'll update the gem in our app and hurry up as much as I can to get the free time necessary to implement the changes.
Cheers,
cec

@iDuuck @sponomarev neither the result of this merge nor the branch by @donbobka work for me.
mediaembed plugin is not working and crashes the editor (no visible editor).
I removed mediaembed from config.extraPlugins.
But then I get another error from the lang plugin, which is missing the bidi property.
Strangely enough, if I check the it.js file for lang, I see the bidi property with all expected values.
Did you experience similar issues? At the moment, this is a no-go for me :(

Wow, thought it was working. Will revert if I have time

@iDuuck well let's just wait for their reply to find out if it's my own issue, although I'm not sure where to look since I'm getting the problem with vanilla configs...

Hi @iDuuck ,
today I had time to verify this again. The PR is definitely working and legit.
For some reason, rake tmp:clear && rake assets:clean was leaving some stale files under public/assets  that I had to remove manually (odd enough, but whatever).
With the new version of CKEditor, a plugin was renamed: MediaEmbed => mediaembed
The button name for the toolbar is still MediaEmbed, thus most people won't notice the change.
In my app, I had to override the plugin for some custom functionality.
Anybody overriding the plugin might have to update their overriding solution appropriately.
I suggest the realease of a new version on rubygems.
I hope to send a PR soon with my changes to Rich.
Have a nice week!


Adds Jenkinsfile

This change is

Codecov Report

Merging #282 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #282   +/-   ##
======================================
  Coverage    85.6%   85.6%
======================================
  Files          52      52
  Lines        2882    2882
======================================
  Hits         2467    2467
  Misses        388     388
  Partials       27      27

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 9293eca...bc409d6. Read the comment docs.

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed


Parse whole dataset

How to access whole dataset in loops ?
We can access a single instance using ContactPose class. However, how to get exhaustive list of p_num, intent, object_name etc. which are parameters of ContactPose ?
This is needed to convert the dataset to desired usage.

Hi @rohitdavas, sorry for the delay in replying. You can use the get_object_names(), get_intents(), and get_p_nums() functions in utilities/dataset.py.

thanks !


Login Problems for iPhone

I converted the user agent to iphone, no problem so far.
How should I fix the header for iPhone? I couldn't find the header key on the internet, it's on android now;
"X-IG-Android-ID": self.android_device_id,

Even though I run the code in different time zones, it sometimes detects it as a new entry. However, when I use dump settings and use them again, I apply load settings.
Detecting it as a new login locks the account. It detects login from a different device and the account is locked.

@merthcs could you please share your user_agent?
i have the same issue.


Processing files other than index.html?

I have a nunjucks template in about/index.njk and this plugin seems to not process it at all. Or I misunderstood the purpose of this plugin?

You are right. Plugin transforms only .html file. I will add it soon.

LGTM. Thank you.

Hey,
importing .njk files in templates (like: {% extends<EMAIL_ADDRESS>%}) works fine. However, the entry point as .njk is not working due to Rollup and I am not sure yet. I'm afraid it's more of a Vite/Rollup issue.
If anyone has an idea to make .njk work as an entry point for Rollup, I'd be happy.

What is the status of this ? im using storybook and vite and tried this to add support for njk file imports but as its only working with index.html files im a bit stumbled to how to solve this is it even possible ?

Any help on this would be appreciated by someone who is in touch with new versions of Vite.


Integration Test - Release - 2019/05/06 22:40:48

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest3 : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.

@PRMergerTest3 : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Panel: dropdown should not push other actions out of view

Testing: https://github.com/Microsoft/vscode/issues/36906
Steps to Reproduce:

have the panel to the right and open output
if you make the panel small enough, the "X" action is pushed out of view even though imho the dropdown could become smaller.

We are using flex underneath and it is not trivial to get this behavior right.
In the current stable we also have this for the horizontal panel.
I do not think this is a big issue, pushing to backlog until more users complain.
Of course I am open to suggestions on how to use flex to overcome this issue.

I think the issue here is just the min-width of 110px for the select component. There must be a way to use flex and let it shrink to a certain minimum and grow to a maximum like 110px.

Yes that is the issue. But on top of that that whole action bar is being pushed, he is not the one pushing which complicates a bit.

@bpasero
@isidorn
I am assuming this is the same issue in the other direction of the select drop-down been pushed over
and partially should with a small panel.  This makes a contextview dropDown overlap the sash sometimes.

There are still some corner cases where this can happen, however I think it behaves much better overall now

@isidorn isn't it still the same?

@bpasero it is better than before but yes it can still happen

Yeah much better than before, less hectic. Fine for me.


How could we connect to windows host using delegated driver via winrm connection?

Issue Type

Feature request

Molecule and Ansible details
ansible --version
2.5.x

molecule --version
2.17

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Desired Behavior
Please give some details of the feature being requested or what
should happen if providing a bug report.
Actual Behaviour (Bug report only)
Please give some details of what is actually happening.
Include a minimum complete verifiable example with
output of running molecule --debug.
ERROR:
An error occurred during the test sequence action: 'create'. Cleaning up.
Traceback (most recent call last):
  File "/usr/local/bin/molecule", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/molecule/command/test.py", line 141, in test
    base.execute_subcommand(scenario.config, 'destroy')
  File "/usr/local/lib/python2.7/dist-packages/molecule/command/base.py", line 100, in execute_subcommand
    return command(config).execute()
  File "/usr/local/lib/python2.7/dist-packages/molecule/command/base.py", line 51, in __init__
    self._setup()
  File "/usr/local/lib/python2.7/dist-packages/molecule/command/base.py", line 93, in _setup
    self._config.provisioner.manage_inventory()
  File "/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible.py", line 628, in manage_inventory
    self._write_inventory()
  File "/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible.py", line 679, in _write_inventory
    self._verify_inventory()
  File "/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible.py", line 738, in _verify_inventory
    if not self.inventory:
  File "/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible.py", line 467, in inventory
    connection_options = self.connection_options(instance_name)
  File "/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible.py", line 518, in connection_options
    d = self._config.driver.ansible_connection_options(instance_name)
  File "/usr/local/lib/python2.7/dist-packages/molecule/driver/delegated.py", line 162, in ansible_connection_options
    d['identity_file'],
KeyError: 'identity_file'

Hello, how could we connect to windows host using delegated driver via winrm connection?
Do you have any examples or ideas?
Now we try to connect using these params:
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_transport: credssp
ansible_winrm_server_cert_validation: ignore

But I have no idea what should be in login_cmd_template:
driver:
  name: delegated
  options:
    managed: False
    login_cmd_template: '???'
    ansible_connection_options:
      connection: winrm

@retr0h Could you kindly look at this question?

@vutkin windows isn't a use case Molecule really handles, nor do I know much about connecting to windows systems.

@retr0h may we add PR with windows support?

Right now I am experimenting with this and this seems to work:

---
- name: Create
  hosts: localhost
  connection: local
  gather_facts: false
  no_log: "{{ not (lookup('env', 'MOLECULE_DEBUG') | bool or molecule_yml.provisioner.log|default(false) | bool) }}"
  tasks:
    - name: HyperV host to inventory
      add_host:
        name: hyperv-host
        ansible_host: <IP_ADDRESS>
        ansible_user: Administrator
        ansible_password: Welcome01
        ansible_connection: winrm
        ansible_winrm_transport: ntlm
        ansible_winrm_message_encryption: auto
        ansible_port: 5985

    - name: Create VMs
      win_hyperv_guest:
        name: "{{ item.name }}"
        state: present
        hostserver: "{{ molecule_yml.driver.hyperv_host | default(omit) }}"
        generation: "{{ item.generation | default(omit) }}"
        cpu: "{{ item.cpu | default(omit) }}"
        memory: "{{ item.memory | default(omit) }}"
        disks: "{{ item.disks | default(omit) }}"
        network_adapters: "{{ item.network_adapters | default(omit) }}"
        secure_boot: "{{ item.secure_boot | default(omit) }}"
        secure_boot_template: "{{ item.secure_boot_template | default(omit) }}"
      with_items: "{{ molecule_yml.platforms }}"
      delegate_to: hyperv-host

I've published an example of how I accomplish mixed-mode support with Molecule for a particular Ansible role that I wrote that supports flavors of Linux and Windows.
https://github.com/watsonb/ar_jenkins_slave
The Molecule test for this role employs two scenarios: default (flavors of Linux) and windows (you know, for Windows).  The default scenario uses the Molecule delegated driver to spin up new Virtual Machines on VMWare and, as these VMs are Linux-based everything works as expected once they are powered on and the instance config dictionary is populated with IPs and SSH parameters.
I was toying with using the delegated driver as well for spinning up new Windows VMs, but as @wilmardo mentioned, I couldn't figure out how to (in a native way) populate the instance config dictionary with WinRM things for Molecule to connect to these new instances once powered up.  I resorted to using the Molecule vagrant driver to spin up a Windows VM in VirtualBox based on a custom Windows2016 Server vagrant.box I made with Packer.  You can see the connection details specified under molecule/windows/molecule.yml and it works like a champ, albeit a bit slow since this VirtualBox capability is actually running within another Linux VM in VMWare and things start feeling a little Inception-y.

Is there any progress on this issue? @vutkin @kharkevich
I would like this as well and might take a stab at it :)

I'm closing this out since I personally do not support windows, and have no good way to verify, document, or tests PRs related to windows.

Could you please reopen this issue and mark it as enhancement?

Since https://github.com/ansible/molecule/pull/1674 is merged, we can close this out?


HDMI monitor not responsive

Describe the bug
HDMI monitor is not responsive (power light unchanged either)
What did you expect to happen?
A working HDMI monitor
Output of rpm-ostree status
❯ rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia:gts
                   Digest: sha256:2c4a1b9f415dd89d88d23bc53fafae54fb374d3f04371d9cb68a4ec26c47ec3d
                  Version: 39.20240517.0 (2024-05-19T01:42:22Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia:gts
                   Digest: sha256:9c5fec8c500736d313e53fdb4198025b1d71e49efc1baf4288832508e1999987
                  Version: 39.20240517.0 (2024-05-19T01:42:22Z)

Output of groups
❯ groups
malix wheel

Extra information or context
Fresh install (bluefin-dx-nvidia)
Lenovo Legion 5
AMD Ryzen 7 5600H
NVIDIA GeForce RTX 3060 Laptop

Maybe it has to do with that

Oh boy

You don't have our secure boot key enrolled so none of our kernel modules can load.
This is not causing your issue though, just producing these errors.

Is the display detected by your display configurator?
Does the monitor say no signal detected when manually powered on?

@KyleGospo

You don't have our secure boot key enrolled

Following https://universal-blue.discourse.group/t/bluefin-administration-guide/40 indeed worked, I might have missed that documentation step, thanks!


test: remove probes-test.sh

probes-test.sh is a relict from the past that tests a script that is no longer executed and was removed (fbe98184) from the code base.

/test

/test


Native local notifications in macOS (is this already possible?)

Summary
I'm trying to figure out how to send notifications to the Notification Center in macOS similar to what Notifee or PushNotificationsIOS or expo do. Apologies if this is already a thing that one can do in react-native-macos but I've been poking around and haven't seen anything to this effect for macOS; is it something that is supported (or planned to be supported) in some way?
I stumbled across this page about IReactNotificationService but I'm not really sure what to do with it - is this an objective-C interface?
Motivation
Many (most?) native applications make use of the Notification Center for all kinds of things. Seems like it would be good for react native apps to be able to do the same.
Basic Example
No response
Open Questions
No response

PushNotificationsIOS should work?

I tried it out with mixed results

Oh sorry, I meant the PushNotificationIOS that ships with React Native, AKA:
https://github.com/microsoft/react-native-macos/tree/main/packages/react-native/Libraries/PushNotificationIOS

ah ok - so you are saying this fork of react-native did not break PushNotificationsIOS out into a separate package (unlike the master fork)?

if that's so then is this deprecated guide to push notifications still a good reference for how to handle notifications in macOS?
for what it's worth i'm only interested in local machine notifications, not remote push notifications. not sure if that makes any difference / makes things easier or harder.

I'm trying to follow (more or less) those deprecated instructions... When I go to add
#import "RCTPushNotificationManager.h"

to my AppDelegate.h file Xcode informs me the file can't be found, so I did some digging around in the project directory that was generated by react-native-macos and I noticed that CocoaPods doesn't seem to be picking up the PushNotificationsIOS headers and code?
Bear with me here - i'm a very experienced developer but I have fully 0 experience with Xcode or objective-C and it's been years since i did anything in C or C++ - but when I went looking for the RCTPushNotificationManager.h I did find it in the node_modules directory:
./node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotificationManager.h
./node_modules/react-native-macos/Libraries/PushNotificationIOS/RCTPushNotificationManager.h

Given that my AppDelegate.h file can currently find RCTAppDelegate.h I checked out where that file is as well, thinking I could just adjust the path of my #import and get the notifications header in there... but I noticed that RCTAppDelegate.h has also apparently been configured by CocoaPods, so it appears in 4 places in the hierarchy:
./macos/Pods/Headers/Public/React-RCTAppDelegate/RCTAppDelegate.h
./macos/Pods/Headers/Private/React-RCTAppDelegate/RCTAppDelegate.h
./node_modules/react-native/Libraries/AppDelegate/RCTAppDelegate.h
./node_modules/react-native-macos/Libraries/AppDelegate/RCTAppDelegate.h

That lead me to Podfile.lock. I don't fully understand what CocoaPods is doing but it seems like it's setting up node_modules code to be accessed by Xcode, so I was surprised to see that my Podfile.lock file showed all kinds of react-native-macos code being setup but made no reference at all to PushNotificaitonsIOS:
DEPENDENCIES:
  - boost (from `../node_modules/react-native-macos/third-party-podspecs/boost.podspec`)
  - DoubleConversion (from `../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec`)
  - FBLazyVector (from `../node_modules/react-native-macos/Libraries/FBLazyVector`)
  - FBReactNativeSpec (from `../node_modules/react-native-macos/React/FBReactNativeSpec`)
  - glog (from `../node_modules/react-native-macos/third-party-podspecs/glog.podspec`)
  - RCT-Folly (from `../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec`)
  - RCTRequired (from `../node_modules/react-native-macos/Libraries/RCTRequired`)
  - RCTTypeSafety (from `../node_modules/react-native-macos/Libraries/TypeSafety`)
  - React (from `../node_modules/react-native-macos/`)
  - React-callinvoker (from `../node_modules/react-native-macos/ReactCommon/callinvoker`)
  - React-Codegen (from `build/generated/ios`)
  - React-Core (from `../node_modules/react-native-macos/`)
  - React-Core/RCTWebSocket (from `../node_modules/react-native-macos/`)
  - React-CoreModules (from `../node_modules/react-native-macos/React/CoreModules`)
  - React-cxxreact (from `../node_modules/react-native-macos/ReactCommon/cxxreact`)
  - React-jsc (from `../node_modules/react-native-macos/ReactCommon/jsc`)
  - React-jsi (from `../node_modules/react-native-macos/ReactCommon/jsi`)
  - React-jsiexecutor (from `../node_modules/react-native-macos/ReactCommon/jsiexecutor`)
  - React-jsinspector (from `../node_modules/react-native-macos/ReactCommon/jsinspector`)
  - React-logger (from `../node_modules/react-native-macos/ReactCommon/logger`)
  - react-native-menubar-extra (from `../node_modules/react-native-menubar-extra`)
  - React-perflogger (from `../node_modules/react-native-macos/ReactCommon/reactperflogger`)
  - React-RCTActionSheet (from `../node_modules/react-native-macos/Libraries/ActionSheetIOS`)
  - React-RCTAnimation (from `../node_modules/react-native-macos/Libraries/NativeAnimation`)
  - React-RCTAppDelegate (from `../node_modules/react-native-macos/Libraries/AppDelegate`)
  - React-RCTBlob (from `../node_modules/react-native-macos/Libraries/Blob`)
  - React-RCTImage (from `../node_modules/react-native-macos/Libraries/Image`)
  - React-RCTLinking (from `../node_modules/react-native-macos/Libraries/LinkingIOS`)
  - React-RCTNetwork (from `../node_modules/react-native-macos/Libraries/Network`)
  - React-RCTSettings (from `../node_modules/react-native-macos/Libraries/Settings`)
  - React-RCTText (from `../node_modules/react-native-macos/Libraries/Text`)
  - React-RCTVibration (from `../node_modules/react-native-macos/Libraries/Vibration`)
  - React-runtimeexecutor (from `../node_modules/react-native-macos/ReactCommon/runtimeexecutor`)
  - ReactCommon/turbomodule/core (from `../node_modules/react-native-macos/ReactCommon`)
  - Yoga (from `../node_modules/react-native-macos/ReactCommon/yoga`)

(That's just a piece of the file; can post the whole thing.) Now I don't really know what I'm doing here but it seems like somehow CocoaPods is not properly setting up PushNotificationsIOS when I pod install for reasons I can't divine. Or am I totally off base?

Digging around in the Podfile I saw it references react_native_pods.rb from this repo... looking in that file I see no reference to PushNotificationsIOS though I do see all the other node libraries that seem to drive react-native-macos listed.

I added the line
pod 'React-RCTPushNotification', :path => "#{prefix}/Libraries/PushNotificationIOS"

to react_native_pods.rb and after running pod install Xcode was able to successfully #import <React/RCTPushNotificationManager.h>... Haven't actually tried using the library but my first question is whether maybe React-RCTPushNotification was left out of the list of pods for a good reason?

Upstream React Native still has it too, I guess they never got around to deleting it, and I kept the macOS support not realizing it was actually meant to be ejected. There has been active development in this code path by Meta, so interesting it is supposed to be ejected..

yeah it's just marked as deprecated for now.
I'm trying to follow the react 0.71 docs on push notifications and adjust them to work with macOS instead of iOS based off of the RNTester/AppDelegate.mm code.
So far after adding a couple of methods (⬇) to my AppDelegate.mm I've at least gotten it to build and successfully requestPermissions() though so far haven't had any luck actually sending notifications... If you see something obvious I'm missing here I'd be grateful for the helping hand; it's hard to exactly map the iOS methods onto macOS ones.
- (void)userNotificationCenter:(NSUserNotificationCenter *)center
        didDeliverNotification:(NSUserNotification *)notification {
}

- (void)userNotificationCenter:(NSUserNotificationCenter *)center
       didActivateNotification:(NSUserNotification *)notification {
    [RCTPushNotificationManager didReceiveUserNotification:notification];
}

- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center
     shouldPresentNotification:(NSUserNotification *)notification {
    return YES;
}

So after more fiddling around I ended up in pretty much the same place I did on the issue I opened that I linked earlier in PushNotificationIOS:

permissions can be requested and retrieved just fine; my app appears in the notifications control panel.
The app can subscribe to and act on fake remote notifications triggered by react native's DeviceEventEmitter but these are unrelated to the official macOS Notification Center (which is what i actually care about)
calling presentLocalNotification() results in nothing appearing in the macOS notification center.
calling scheduleLocalNotification() results in nothing in the notification center and nothing can be retrieved from the notification center queue with getScheduledLocalNotifications()

poking around the objective-C implementation of presentLocalNotification() in this repo i see that it theoretically should call out the apple's addNotificationRequest:withCompletionHandler... but that's as far as I got.
any advice or tips on why this might not be working or how one might debug this appreciated.

I found something pretty confusing... if i look in this repo at the obj-c definition of presentLocalNotification() i see code that is notably quite different from what i have in node_modules/react-native-macos/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm. maybe that's normal because the code in this repo has not been released yet or something? but i found it odd and given the fact that i had to manually intervene to get CocoaPods to even find the package I was a bit concerned.
this repo:
RCT_EXPORT_METHOD(presentLocalNotification : (JS::NativePushNotificationManagerIOS::Notification &)notification)
{
  NSDictionary<NSString *, id> *notificationDict = [RCTConvert NSDictionaryForNotification:notification];
  UNNotificationContent *content = [RCTConvert UNNotificationContent:notificationDict];
  UNTimeIntervalNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:0.1
                                                                                repeats:NO];
  UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:[[NSUUID UUID] UUIDString]
                                                                        content:content
                                                                        trigger:trigger];

  UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
  [center addNotificationRequest:request withCompletionHandler:nil];
}

local node_modules/react-native-macos/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm:
#if !TARGET_OS_OSX // [macOS]
RCT_EXPORT_METHOD(presentLocalNotification : (JS::NativePushNotificationManagerIOS::Notification &)notification)
{
  NSMutableDictionary *notificationDict = [NSMutableDictionary new];
  notificationDict[@"alertTitle"] = notification.alertTitle();
  notificationDict[@"alertBody"] = notification.alertBody();
  notificationDict[@"alertAction"] = notification.alertAction();
  notificationDict[@"userInfo"] = notification.userInfo();
  notificationDict[@"category"] = notification.category();
  notificationDict[@"repeatInterval"] = notification.repeatInterval();
  if (notification.fireDate()) {
    notificationDict[@"fireDate"] = @(*notification.fireDate());
  }
  if (notification.applicationIconBadgeNumber()) {
    notificationDict[@"applicationIconBadgeNumber"] = @(*notification.applicationIconBadgeNumber());
  }
  if (notification.isSilent()) {
    notificationDict[@"isSilent"] = @(*notification.isSilent());
    if ([notificationDict[@"isSilent"] isEqualToNumber:@(NO)]) {
      notificationDict[@"soundName"] = notification.soundName();
    }
  }
  [RCTSharedApplication() presentLocalNotificationNow:[RCTConvert UILocalNotification:notificationDict]];
}
#else // [macOS
RCT_EXPORT_METHOD(presentLocalNotification:(NSUserNotification *)notification)
{
  [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
}
#endif // macOS]

is this expected?

@michelcrypt4d4mus  what version of RNM are you using? The main branch probably matches what will come with 0.74, if not with what is already in 0.73 (you can check by looking at the same file on the branch 0.73-stable)

react-native-macos-0.71.36, as specified in the docs

Ah yeah.. those docs are out of date. Use the latest if you can, which would be 0.73.
Also, I found official docs about the whole PushNotificationIOS thing, and it seems this library will be removed from React Native: https://reactnative.dev/blog/2024/04/22/release-0.74#api-changes-to-pushnotificationios-deprecated
When that happens (with 0.75), we'd probably have to move the macOS implementation to the community module to keep support.

@michelcrypt4d4mus I didn't thoroughly read through all of your posts here and this may not be the solution that you are looking for, but I solved this (and other native connections) through a different approach.
I'm very bad at Objective-C, so I went with an EventEmitter that allows the JS and the Swift parts to talk to each other. Once you got that setup you don't need to hassle with getting the whole module into React, since you can do everything in Swift and it is a bit easier to find resources on that. Not a perfect solution, but a good one if you are coming from JS.
You can take a look at my EventEmitter Swift class here.
I'm listening to notification events in my AppDelegate and also send the result of the permissions check back to React to display an error message to the user.
Sending and listening to events is pretty easy as shown here. I'm sending my notification events here.
Also keep in mind that your notifications need a unique ID, otherwise MacOS will not deliver your notification if a notification with the same ID is already in your notification center.

thanks. in my initial post i mentioned "The app can subscribe to and act on fake remote notifications triggered by react native's DeviceEventEmitter" - so yeah, i think my experience was that listening to system events worked OK (I think - but am not sure - that DeviceEventEmitter is firing "real" system events and not just javascript / RN "events") but getting notifications into the formal macOS "Notification Center" was my real goal.

Thanks for the discussion here. I learned a bit about how people use React Native macOS, and a good place to put better macOS notification support :)

ultimately i ended up firing my "real" notifications from a background process.


Columns not adjusting to screen size

There are always four columns no matter screen resolution https://cdn.discordapp.com/attachments/441805394323439648/548050561178533888/unknown.png

Can't reproduce. In my testing it correctly adapted from 1 to 4 columns, as per standard breakpoints.


Add support for HBOGo & HBO Now

I'm sure you're probably already working on this, but I noticed there was no issue open about it to monitor its progress, so I'm doing that.

[x] I've verified and I assure that I'm running youtube-dl 2016.06.14

I have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl -v "http://play.hbogo.com/episode/urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://play.hbogo.com/episode/urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.06.14
[debug] Python version 3.5.1 - Linux-4.5.4-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true: Requesting header
WARNING: Falling back on generic information extractor.
[generic] urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true: Downloading webpage
[generic] urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true: Extracting information
ERROR: Unsupported URL: http://play.hbogo.com/episode/urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 341, in extract
    return self._real_extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/generic.py", line 2063, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: http://play.hbogo.com/episode/urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true
$ youtube-dl -v "http://play.hbogo.com/season/urn:hbo:season:GVtcU-Qbol7qlofAIAAAH"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://play.hbogo.com/season/urn:hbo:season:GVtcU-Qbol7qlofAIAAAH']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.06.14
[debug] Python version 3.5.1 - Linux-4.5.4-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] urn:hbo:season:GVtcU-Qbol7qlofAIAAAH: Requesting header
WARNING: Falling back on generic information extractor.
[generic] urn:hbo:season:GVtcU-Qbol7qlofAIAAAH: Downloading webpage
[generic] urn:hbo:season:GVtcU-Qbol7qlofAIAAAH: Extracting information
ERROR: Unsupported URL: http://play.hbogo.com/season/urn:hbo:season:GVtcU-Qbol7qlofAIAAAH
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 341, in extract
    return self._real_extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/generic.py", line 2063, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: http://play.hbogo.com/season/urn:hbo:season:GVtcU-Qbol7qlofAIAAAH
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):
-Single video: http://play.hbogo.com/episode/urn:hbo:episode:GVx-Z-wOMe8N-wwEAAAAQ?reentered=true (not sure if that ?reentered=true part matters)
-Playlist: http://play.hbogo.com/season/urn:hbo:season:GVtcU-Qbol7qlofAIAAAH
-I don't use HBO Now and so can't provide sample links for it.
Description of your issue, suggested solution and other information
Note: Both of these sites require logging in with user credentials. HBOGo logs in across multiple websites, for example, I use my parent's DISH Network subscription, so I have to login to the DISH Network site and then it redirects to HBOGo with POST data.

All provided links give an HTTP 403 Forbidden error in Firefox. Maybe geo-restricted?

I'm using Firefox. It could be because you aren't logged in. Perhaps only someone with an HBOGo subscription or HBO Now subscription can test and set up each one.

Could you point out where to log in?

It's not only providing correct credentials, this is also geo-restricted. Or did they add exceptions recently? Otherwise, still not working here.

I'm prompted to enter credentials with an US proxy.

I think I'll just finally learn Python and submit a merge myself, since I have an HBOGo account and live in the US. No guarantee on how long I'll be. Someone else who has a subscription to HBO Now will have to handle HBO Now.

So, now that I'm getting started, I've got 2 questions:

How can I find out what kind of authentication HBOGO uses? I don't think it's 2-factor, username/password, or a netrc file, because it's an off-site thing. You pick a TV provider, like DISH Network, and it redirects you to that site to login, and then you're redirected back with the login cookie and that lets you in. And it looks like if you haven't done that, you can't even access what would be the valid download URLs for youtube-dl to look at, so it would have to immediately login before downloading the webpage. How would I have youtube-dl support that? Are there already any supported providers that have a similar login-with-TV-provider setup? I know it's a pretty common method for these streaming sites.

How should I approach the issue of it being geo-restricted? Since we don't want to do anything illegal, should I just have the HBOGO provider return a message saying that it's geo-restricted if a user in a restricted country tries to download something? If so, how exactly would I go about returning that message? Would it be similar to the error message detection that I saw in extractors/common.py, where it detected that a site was blocked by Websense (in th _webpage_read_content function)? If so, I'd rather somebody show me what that blocking page looks like on HBOGO, so that I don't have to mess around with proxies to find it.

@Jimi-James
1- Support for some TV providers are supported, although it's easier to use cookies; see bf83024826e325c474aed5128c012b78a5d15210
2- If content is geo-restricted, a geo-restricted exception should be raised.
I'm pretty sure that HBO use DRM for most of their digital content; decrypting it will probably be very difficult.

i added support for Adobe Pass(the only supported TV provider is DirecTV) in bf83024826e325c474aed5128c012b78a5d15210 it works now with national geographic and A&E network sites and it can be extended for other sites as well.
the problem is how we can support other provider, i tried to use cookies but it didn't work for me.

handling geo restriction should not be a problem.

the main problem is that the HBO uses DRM for it's videos.

For #3, I figured I'd just copy how the CW extractor downloads the video. The CW uses a similar kind of DRM, so its extractor seems to brute-force it by just capturing the entire stream as raw data.

the m3u8 manifest used by HBO are DRM protected(if i remember correctly they are protected with Adobe Flash Access) while the ones from CW are not.

Oh. Is HBOGO support for youtube-dl even doable, then?

if you want to confirm you can see that the AES-128 was served using faxs protocol.
in the manifest file you will see something similar in the begining of the m3u8 manifest:
#EXTM3U
#EXT-X-VERSION:5
## Created with Unified Streaming Platform(version=1.6.6)
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:10
#EXT-X-FAXS-CM:<BASE64 DRM Metadata>
#EXT-X-KEY:METHOD=SAMPLE-AES,URI="faxs://faxs.adobe.com",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1",IV=<IV>

Oh. Is HBOGO support for youtube-dl even doable, then?

it's possible, but difficult(figure how to decrypt DRM pretected segements or finding a workaround to get unprotected video like in the case of DAISUKI).

I'm probably going to need help, then, because I have no experience decrypting DRM and I don't know what an m3u8 manifest is. Is that something I'll be learning after I read more example code from the other extractors?

https://en.wikipedia.org/wiki/HTTP_Live_Streaming
https://en.wikipedia.org/wiki/M3U

This is not easy, so good luck and all the best! :wink:

Is there any progress on this issue? I would also like to be able to download videos from HBO Now. @Jimi-James @yan12125

I ended up not having the time to work on it at all. I might not be the best person with my complete lack of experience in dealing with encryption and encoding and decoding with internet videos. To survive for now, I've been using a Chromecast to watch HBOGo. As for HBO Now, I don't even have a subscription for that, so I'm definitely not the best person to get it working.

@Jimi-James Okay, unfortunately that solution doesn't work for me as I use youtube-dl to download videos entirely before I watch them since my internet is too slow to watch videos as they load. I'm not really the right person to fix this issue either, though, because I barely know Python well enough to add a site. I thought I'd tag you anyway though because no one had bumped this thread in over half a year and I wasn't sure if maybe their site changed in such a way that would make this easier to do than before

@danfiscus Ooh, I feel you there. My internet right now is BARELY fast enough to stream (2Mb), so I massively prefer youtube-dl or other download methods when I can, which these days is with everything EXCEPT HBOGo. So I do have an incentive to try this out eventually. I at least know Python well enough to set up the skeleton of the extractor, which I've done in my fork.

@Jimi-James Is HBOGo set up the same way as HBO Now? Or are they different? I've only ever used HBO Now, so I'm not sure if it's easier to download from or if it's the same platform.

@danfiscus They're different enough that I couldn't use the same code on both, but the real issue is that neither can be tested without a paid account in an allowed country. That's why nobody else has made extractors for them yet. So if you used your Now account for testing, that solves that.

@Jimi-James anyone can get a free trial account that works for a month, that's what I'm using right now

@danfiscus Oh, cool, so I could use that. I wouldn't be able to maintain it once my trial went out, though, so it would only be a temporary solution.

Any progress? I managed to download the file, but only the video part - no audio - and it's encrypted so it doesn't play, it just shows a gray screen even though the time keeps passing.

At this point, I'm officially not working on this. I brought tons of eagerness but no experience, and I have too many things going on to do anything with this in the near future. I hope someone else can!

An HBO Now test URL from #13908: https://play.hbonow.com/episode/urn:hbo:episode:GVU4NYgvPQlFvjSoJAbmL

@yan12125 Shall i provide more urls?

That should be enough

Question: If HBO Now isn't supported/work, why is it on the supported list @ https://rg3.github.io/youtube-dl/supportedsites.html

That list is outdated/incorrect anyway, this is not the only case..

There is no HBO Now on this list.


Checking of Sprout anchors in non-finalized state

Motivation

Specifications

Designs

Solution

Review

Reviewer Checklist

[ ] Code implements Specs and Designs
[ ] Tests for Expected Behaviour
[ ] Tests for Errors

Follow Up Work

Does not check intra-transaction interstitial states yet

@upbqdn here's a branch that uncomments the first stabs at checking Sprout anchors in non-finalized state that I sketched out while checking Sapling and Orchard, we can collaborate in here?

Does not check intra-transaction interstitial states yet

This is now implemented

Kicked off a sync using this branch: https://github.com/ZcashFoundation/zebra/runs/4375953325?check_suite_focus=true

That was fast. It all looks good to me. I tried to refactor the way we build the interstitial treestate in https://github.com/ZcashFoundation/zebra/pull/3126. Feel free to disregard it if it's not useful. It is based on the assumption that interstitial treestates are hardly ever used.

@conradoplg or @upbqdn I can't give a ✅  review to the PR I opened 🙏

All looks good to me here.


How does the URL in the stack trace get decided and where does it come from?

Environment
SaaS (https://sentry.io/)
What are you trying to accomplish?
Ever since upgrading to Webpack 5 and the newest version of the Sentry Webpack plugin, the stack trace has started to show a URL as the file name:

If I click this, the URL goes to a location underneath my assets folder but since the assets are minified, this location doesn't exist.
On the older version of the Sentry Webpack plugin and with Webpack 4 (on another project I have which hasn't been upgraded), it looks like this:

How are you getting stuck?
What exactly is this URL? Where does it come from? How can I change Sentry so that the URL either points to an accessible location or doesn't show up at all as was the behaviour before I upgraded Sentry and Webpack?
The URL I am taken to is like: https://assets.my-project.com/my-app/1.0.0/project-name/src/Utilities/formatNumberAsCurrency.ts. This doesn't exist. What does exist is a URL like: https://assets.my-project.com/my-app/1.0.0/main.js. So can I get this URL to point there instead? Would I want it to point there?
Where in the product are you?
Issues
Link
No response
DSN
No response
Version
No response

Thank you @lforst, with rewriteSources I am able to restore the original behaviour. Nice!
But I would still be interested to know what determines if the URL is shown or not. It would appear that if the source map URL starts "webpack://" the URL is automatically not shown but if it is starting with anything else, Sentry attempts to make an actual URL.
As I mentioned above, without making a change to the rewriteSources, Sentry seems to think the code is available at https://assets.my-project.com/my-app/1.0.0/project-name/src/Utilities/formatNumberAsCurrency.ts even though only the minified code is available. This seems like a bug to me but can you explain how this URL is determined as it is nowhere to be seen within the source maps, there only webpack://my-app/./src/Utilities/formatNumberAsCurrency.ts is present so it must be something on the Sentry end that is combining that and the URL where the minified code is?


More thorough docs

Due to the security repercussions, of deploying this incorrectly, Are they any docs that go into more detail on a proper installation?

@dnichk This is absolutely an area we can improve upon, and will be doing soon.

Is there a user group I can ask this question too? "Does BLESS provision both private and public keys, or does the user provide a public key/cert to be signed?"


Policies not found

Hello i set the following GH action
`
  - run: |
      set -e
      set -o pipefail
      os="Linux"
      arch="$(uname -m)"
      repo="reposaur/reposaur"
      tag="v0.4.0"
      filename=""
      url="https://github.com/$repo/releases/download/$tag/reposaur_${tag#v}_${os}_${arch}.tar.gz"
      rm -f reposaur.tar.gz
      curl -sL "$url" > reposaur.tar.gz
      tar zxf reposaur.tar.gz
      rm reposaur.tar.gz
      echo "${{ github.action_path }}" >> $GITHUB_PATH
      sudo cp -f reposaur /usr/local/bin
      sudo cp -f reposaur /usr/bin
      curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
      sudo apt update
      sudo apt install -y gh
      pwd
      gh api /orgs/callruby/repos --paginate \
      | reposaur -p $PWD/policy \
      | jq -r '.[] | @base64' \
      | {
        while read r; do
          _r() {
            echo ${r} | base64 -d | jq -r ${1}
          }

          owner=$(_r '.runs[0].properties.owner')
          repo=$(_r '.runs[0].properties.repo')
          branch=$(_r '.runs[0].properties.default_branch')
          commit_sha=$(gh api "/repos/$owner/$repo/branches/$branch" | jq -r '.commit.sha')

          # We've some internal repositories that don't have access to Advanced Security
          # features, since we're on a free plan. Thus the `|| true` in end of the command,
          # to avoid the workflow to exit unsuccessfully in such cases.
          gh api "/repos/$owner/$repo/code-scanning/sarifs" \
            -f sarif="$(_r '.' | gzip | base64)" \
            -f commit_sha="$commit_sha" \
            -f ref="refs/heads/$branch" || true
        done
      }

`
and when the pipeline is executed it throws
Error: no policies found in [/home/runner/_work/ruby-reposaur/ruby-reposaur/policy]
Of course the policy folder is set on the repository
Thoughts ?

I'm already setting up a self-hosted runner on GCP using the image you provided to test this throughly. I'll update you on my findings as soon as I have something.

@fbuinosquy1985 Finally managed to test your use case, with the same image you're using (deployed it to GCP) and it seems to be working fine...
Example run (don't mind the Advanced Security errors as I don't have them enabled on that org):
https://github.com/crqra-demo-org/test-reposaur-self-hosted-runner/runs/6117234821?check_suite_focus=true
The workflow:
https://github.com/crqra-demo-org/test-reposaur-self-hosted-runner/blob/main/.github/workflows/audit.yml

Looks like your problem might be related with something else. If you want, we can schedule a 10 minutes call to debug this together. You can also join our Slack (invitation link).

well after the chat we have, the error was a silly one , the policy extension has to be .rego

Thank you for the feedback @fbuinosquy1985. We've opened another issue to keep track of improving the error message in this particular case to improve the UX: #8.


Add end-to-end tests using Playwright

where is the need to add end-to-end tests using Playwright .

We don't have any end-to-end tests yet. So it would be great if we can add some so that we can catch any errors before they reach production.

Hello, do you want to add e2e testing to the app's api?


Link error

Hi,
I tried this nice project in a unix environment.
It compiles but I had to use additional compilation flags:
-std=c++11
-D_GLIBCXX_USE_CXX11_ABI=0
Now the link error:
g++ -O2 -L***  -L./lib -L../../isa_sim obj/riscv_tcm_top_rtl.o obj/main.o -o build/test.x -lsystemc -lisa_sim -lsyscverilated -lelf -lbfd
obj/main.o: In function testbench::process()': main.cpp:(.text._ZN9testbench7processEv[_ZN9testbench7processEv]+0x41): undefined reference to cosim::attach_cpu(std::string, cosim_cpu_api*)'
main.cpp:(.text._ZN9testbench7processEv[_ZN9testbench7processEv]+0x8a): undefined reference to cosim::attach_mem(std::string, cosim_mem_api*, unsigned int, unsigned int)' ld: build/test.x: hidden symbol bfd_check_format_matches' in /usr/lib64/libbfd.a(format.o) is referenced by DSO
ld: final link failed: Bad value
Looking inside the content of isa_sim library, it seems to be there though:
0000000000009e60 T cosim::attach_cpu(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, cosim_cpu_api*)
0000000000009f30 T cosim::attach_mem(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, cosim_mem_api*, unsigned int, unsigned int)

Hi,
i have met the same proplem.  you can try this :
cd  ../../isa_sim
make clean              // ---  to clear the  *.o file under the obj/riscv-sim path
make
cd ../top_tcm_axi/tb
make


[tre, libmagic] Windows + mingw support

After a year...
Describe the pull request

What does your PR fix?
Fixes #11832
Also fixes a small bug in vcpkg_configure_make where uuid isn't removed on mingw triplets.

Which triplets are supported/not supported? Have you updated the CI baseline?
Windows + mingw triplets, Yes

Does your PR follow the maintainer guide?

Yes

@Neumann-A Can you check x86-windows and see if there's a workaround?
The build system detects the correct file, but file --version returns D:\installed\x64-windows\tools\libmagic\bin\file.exe-5.40 for some reason, while the build expect file-x.xx, thus it fails to detect the version.

This line only checks for '/' in argv[0], which is not the case on Windows (?)

Yeah probably need to fix that + adding ${EXEEXT} in the Makefile doing the check.
Also install the magic.mgc file into tools/libmagic/share/misc so that the tool automatically picks it up

Eh...git rebase -i messes everything up :)

On mingw, the build failed:
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./.libs/libmagic.a(compress.o):compress.c:(.text+0xae): undefined reference to `ioctl'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./.libs/libmagic.a(compress.o):compress.c:(.text+0x108): undefined reference to `__imp_select'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./.libs/libmagic.a(compress.o):compress.c:(.text+0x12e): undefined reference to `ioctl'
collect2.exe: error: ld returned 1 exit status

@dg0yt Try applying this MSYS2 patch https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-file/0001-file-5.38-mingw-build.patch

@dg0yt Is the problem solved?

@dg0yt Is the problem solved?

Yes, mingw build succeeds now. :+1:

Now that #17137 is merged, I'll take that fix off of my PR.

Alright, great, thanks for the awesome work @longnguyen2004 :)


Add -fzf-arg option and rename -eval-fzf-args option

Added -fzf-arg option.
By using the -fzf-arg option, it is possible to pass arguments to fzf.
Example: Exclude filename with FzfPreviewProjectGrep
nnoremap <Leader>g :<C-u>FzfPreviewProjectGrep -fzf-arg=--nth=3<CR>

The name of the -fzf-args option has been changed to -eval-fzf-args.

Great change, this looks way more sensible.

Thank you, it is more intuitive to use that way

@abenz1267 @jemag
The names of the -fzf-arg and -eval-fzf-args options have been changed.
See #74 and update plugin.


Add the element string to the error

Hi,
I got this error from detox:
Error: Multiple UI elements matched for given criteria.
Exception with Assertion: {
"Assertion Criteria" : "assertWithMatcher: matcherForSufficientlyVisible(>=0.750000)",
"Element Matcher" : "(((((kindOfClass('UILabel') || kindOfClass('UITextField') || kindOfClass('UITextView')) && hasText('Sign Up')) || ((kindOfClass('RCTText')) && an object with accessibilityLabel "Sign Up")) && !kindOfClass('RCTScrollView')) || (kindOfClass('UIScrollView') && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && ancestorThatMatches(((((kindOfClass('UILabel') || kindOfClass('UITextField') || kindOfClass('UITextView')) && hasText('Sign Up')) || ((kindOfClass('RCTText')) && an object with accessibilityLabel "Sign Up")) && kindOfClass('RCTScrollView'))))))",
  "Recovery Suggestion" : "Create a more specific matcher to narrow matched element"
}

And each time I get an error I need to dig in error and find the element name I provide that cause the problem.
I wish detox will provide me the element details (testID or text) that cause to the problem in error high level like:
Error: Multiple UI elements matched for given criteria.
UI Element: {
TestID: "myButtonTestID"
}

or
Error: Multiple UI elements matched for given criteria.
UI Element: {
ElementText: "myButtonText"
}

You agree, we need to improve error messages across detox. Assertion errors are the most difficult ,and we'll try to tackle them first.

Closing old issues. This is out of scope.


Unable to call wsk subcommands

I'm trying to generate the .wskprops file, but am unable to do so. I've logged in via ibmcloud login, but the commands I've seen referenced throw errors indicating that I need to use CloudFoundry.
All of the commands below
ibmcloud fn list
ibmcloud fn api
ibmcloud fn property get --auth

generate
A target Org and Space must be specified. Use 'ibmcloud target --cf' or 'ibmcloud target -o ORG -s SPACE' to set these values.

However, it appears that CloudFoundry is deprecated? Am I doing something wrong, is this a bug, or is the OpenWhisk interface no longer supported?

Hi @matthewdickinson .
Until deprecated CloudFoundry and its Orgs/Spaces are fully gone we'll likely keep seeing traces of it.
Since I see you ask for fn api, note that support for Functions' API Gateway ended by September 2022 (compare https://www.ibm.com/cloud/blog/announcements/api-gateway-migration-options-for-ibm-cloud-function-users).
To run the three commands above successfully, you first need to target either your IAM-based Cloud Functions namespace (which requires targeting resource group first) or your CF-based Cloud Functions namespace (which requires targeting your CF org/space first).
Also, I think auth in fn property get --auth is specific to CF-based namespaces, not relevant / not needed for IAM-based namespaces.
To give you an example:
# IAM-based namespace
ibmcloud login -r <region> -g <resource-group>
ibmcloud fn namespace list   # allows to see both CF-based and IAM-based namespaces
ibmcloud fn namespace target <fn-namespace>
ibmcloud fn list

# CF-based namespace
ibmcloud login -r <region> -o <org> -s <space>
ibmcloud fn list

OK. So that appears to let me target those functions from the CLI! Thanks!
So, given the lack of functional ibmcloud fn property get --auth command, I am correct in understanding that it's no longer possible to manage functions with OpenWhisk enabled tools (e.g. Serverless Framework)? It doesn't seem like a huge deal, but I'd like to be clear if that's not an unsupported use-case.


cmake: Simplify handling of include directories

Simplify cmake a bit. See each commit for details.
There's some churn between commits 1 and 3, but since they don't completely
cancel each other out, I figured I'd leave both in so git history is a bit more
descriptive.
Checklist

[ ] Language changes are updated in man/adoc/bpftrace.adoc
[ ] User-visible and non-trivial changes updated in CHANGELOG.md
[ ] The new behaviour is covered by tests

Waiting for a cmake review, then :)


site.yml ignored

Operating System: OSX 10.13.6
Vagrant Version: 2.2.1
Virtual Box Version: 5.2.22
I made a site.yml file and updated the hostname and aliases. When I run vagrant up those are ignored I would get an error complaining that I already had a machine named 'vccw.test'. When I changed those variables in default.yml vagrant up runs as expected.

It sounds like you created site.yml in /provision, move site.yml to root ie the dir where the vagrantfile is, then try. Now your changes to site.yml should take effect and you should also not get the error (assuming you change the hostname, probably better to change the IP too).

Reading comprehension is vital, thanks.