Attaching modal event handler after initial load

I've got a modal that is used to show a group of pictures for real estate listings. Works great on the list if it's used after the initial page load. If the user runs another search via ajax the list is replaced by the new results. At that point the modal no longer works and it just opens a new page when the link is clicked on one of the listings. This appears to happen because the new list no longer has the modal event handler attached. How do I get RBP to attach to the links after an ajax call like this?

Hi there,
Are you binding using the data api or via JavaScript?

Using the data api

Latest version 4.0.3 yeah? I'll have a look and see if I can replicate it.

Yes 4.0.3. I've changed it now to use api to load modal so the event is attached after the ajax call. Have a different problem now though. Each listing has a button to trigger the modal but when I click on the button no matter what listing it is it always displays the data from the first listing in the list using it's href values instead of the href from the correct row in my list?

I'll need to see some code. Sounds like you're not binding scope properly.

Here is the listing html

    <button class="button-map">View ( 14 )</button>

 MLS#:

147509

 Price:

$59,000

 Bedrooms

3

 Bathrooms

1

 Home SqFt (total):

900

 Lot Acres (calculated):

0.47

 County:

Vilas

 City:

St Germain

 <button class="button-success tell-me-more" data-mls="147509">Contact Us</button> <button class="map" data-addr="2615 HWY 155 St Germain, WI 54558">Map</button>

 <button class="remarks-toggle" data-toggle="remarks_147509" data-mls="147509"> Remarks</button>

Listing Office:
CENTURY 21 GREATER NORTHWOODS

Here is a project with great potential. This 3 BD 1 BA home located between St. Germain and Sayner features an open kitchen/living area and a partial walkout basement. There is a one-car detached garage, a small storage shed and a lovely yard. The house is solid but in need of repairs and updating and is being sold "as is". Zoning is General Business. Come take a look and see what you can do with it.

here is my modal binding
            $('.modal-pics').modal(
              {
                fitViewport: false,
                iframeScroll: false,
                title: 'swipe to scroll photos'
              }
            );

That's a pretty big block of code!
It's difficult to see what is happening to be honest but it looks like you are combining both the Data-API and the JavaScript API. You need to choose between them or else you are going to get an attempted double bind, where the second instance, your JavaScript invoked one, will fail.
Am I right in seeing some Bootstrap in their also? data-toggle

Not Bootstrap I'm just using that attribute name to attach my own event handler in jquery.
I removed the in-line rbp data attributes but get the same results. I pulled out some stuff to make it smaller and here is the important part of the listing code, which still doesn't work.

           <button class="button-map">View ( 14 )</button>

           <button class="button-map">View ( 12 )</button>

Ok clearly the problem is in rbp event attachment - if I look at the network tab the ajax call always gets made to the first href value in the list though each one has a different href as seen above. Since rbp is firing the click event it's attaching ok but for some reason every button is attached to the event for the first one in the list. Worked fine on the initial load when I was using the data- attributes, but not with manual attachment. Any ideas on this - I'm kind of stuck on the project at this point with out having a way to resolve this. Thanks.

You're really gonna have to help me to help you here.
I need a JsFiddle or equivalent with code showing what you are trying to do. I can't tell whether the second .main-listings is to be loaded dynamically or what.

Ok so I think I have figured out what you are doing wrong. It looks to me like you are reusing the same initializer or at least options object for multiple instances.
When a modal is bound the code looks for a target property on the given object and if there is not one then it will try to assign one from a href attribute. Since the same object is being reused that target property is never getting updated.
I have a working example of what I think you are trying to do here
https://dl.dropboxusercontent.com/u/78716633/Modal-Example/index.html
In my initialisation code I am creating a new options object on each binding call.
(function ($) {

    var bindModal = function () {
        $(".modal-pics").modal({
            image: true,
            title: "swipe to scroll photos"
        });
    };

    $(document).on("ready", function () {
        bindModal();
    });

    $(document.body).on("click", ".button-map", function () {
        var $main = $("#main-listings");
        var url = "items.html #list-items";

        $main.load(url, null, function (responseText, textStatus) {

            if (textStatus === "error") {
                $main.html(textStatus);
            }

            bindModal();
        });
    });

}(jQuery))

In my index page I have the following markup:

            <button class="button-map">
                Click to load a new modal
            </button>

And in my items page I have the following markup:

In the future I'm going to change the code so that the original options object is never altered and is reusable.

Let me try to clarify it a bit (by the way thanks for your efforts on this). This is  a real estate web site being developed to be single page. You can see the test site here: canre.nwhost.com. I have trimmed the listing display template to make it easier to view the code. The idea is that when a search (ajax) is viewed the slideshow (not rbp) displays as does the first 50 listings that matched the search criteria. Users can then click on the the thumbnail image of the view button which should then make the ajax call to the service routine that sends back the proper html for the modal to show the other property images as a slide show. It was working great with in-line modal attributes from the first ajax call but would not attach events when another query is viewed which replaces the listings in the dom. After the first time if I clicked on the image or button to view the slide show it executes the link as a normal link and runs the service routine as if it was a page submit. Does that answer your question?  I was thinking that the modal attachment would simply trigger the modal and pickup the correct href from the button being clicked since that would be current context (as it would be if I attached a jquery event to the same class).

$('a.modal-pics').modal({
    fitViewport: false,
    iframeScroll: false,
    title: 'swipe to scroll photos',
    external: true,
    target: this.href // <-- This is wrong.
} );

In your code the keyword this is scoped to the success function that will not have a href  property.
If you drop that property from your initializer options it should work as the plugin will assign the target from the href attribute of the element.

I put that in and it still doesn't work. Just uses the href from the first button in the display. As an aside I am able to get it to work if I use jquery like this after the list is loaded into the dom.
  $('.modal-pics').off();
  $('.modal-pics').on('click', function(e) {
    e.preventDefault();
      $(this).modal(
      {
        fitViewport: false,
        iframeScroll: false,
        immediate: true,
        title: 'swipe to scroll photos'
      }
      );
  })

Ok...I've just pushed an updated build of the plugin to the feature/equal-height branch. https://github.com/ResponsiveBP/Responsive/tree/feature/equal-height/build
That looks like it's working. Could you switch out the JavaScript file (that only, not the css) and give it a test?

Great! - it's works fine now, thanks. I really like rpb as a framework. Two things I think would help would be a good menu system and some good starter layout templates. I think having a starter point for a layout would make it easier for newbies to fbp to get on board.

Excellent! :smile:
Glad you like it. I'm working on a menu. I'm also making the grid simpler to use so the whole thing is easier to pick up. Templates will come soon eventually but it's a lot of work putting it all together.
I'm gonna keep this issue open until the next release so I can track it so don't close it for now.

When attaching manually how can I get the modal title to be taken from the link? It doesn't pick up the attribute data-modal-title if I provide it. In my case since the modal is showing photo's for a single property I'd like to display the MLS number and price for example in the title when the modal opens.


Problem on FormBuilderCheckboxList onChanged

This is my code for FormBuilderCheckboxlist:
return FormBuilderCheckboxList(
attribute: attribute,
options: options,
//initialValue: null,
decoration: InputDecoration(
labelText: _labelText(),
labelStyle: TextStyle(
color: Color(0xFF4574EC),
),
border: InputBorder.none,
),
leadingInput: true,
validators: mandatory
? [
FormBuilderValidators.required(
errorText: 'Please select $title',
)
]
: [],
onChanged: onChanged,
);
my calling:
MyCheckbox(
attribute: 'treatment',
mandatory: false,
title: 'Treatment received',
options: ['IV Fluids', 'Antibiotics', 'ORS']
.map(
(treatment) => FormBuilderFieldOption(value: treatment),
)
.toList(growable: false),
onChanged: (dynamic val) {
print('treatmentreceived=$val');
setState(() {
_treatment = val;
});
},
)
my UI http://prntscr.com/ntasjk
Whenever I tried to tap on the checkbox I got following exception:
I/flutter ( 6016): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter ( 6016): The following UnsupportedError was thrown while handling a gesture:
I/flutter ( 6016): Unsupported operation: Cannot add to an unmodifiable list
I/flutter ( 6016):
I/flutter ( 6016): When the exception was thrown, this was the stack:
I/flutter ( 6016): #0      UnmodifiableListBase.add  (dart:_internal/list.dart:114:5)
I/flutter ( 6016): #1      _FormBuilderCheckboxListState._checkbox.
Please help.

Sorry, it was my mistake. Instead of List, I set String which causes the problem.


Add Unit tests (and reach 100% code coverage)

They should test the functionality of swagger-n.js
And since the code is quite small, we really should try to have 100% code coverage

'They' is one dude (me) with a very busy job and 3 small children...
or 'they' is you, open source contributor who is going to helpfully submit
a pull request.
:-)
On Sunday, January 18, 2015, Dinis Cruz<EMAIL_ADDRESS>wrote:

They should test the functionality of swagger-n.js
https://github.com/paulhill/swagger-n/blob/master/lib/swagger-n.js
And since the code is quite small, we really should try to have 100% code
coverage
—
Reply to this email directly or view it on GitHub
https://github.com/paulhill/swagger-n/issues/7.

cool, I'll work on it and send in some PRs
Btw, I have two kids too, but they a bit older now (9 and 11) so I can code without worrying that they will do THAT much damage :)


Create Account: Step 2: This account can't be activated.

When I try to create a new account on the new page, I get the activation link, click it and then get this message:

Re-enter your e-mail address in the create-account field. I've seen this once before, and for some reason that cleared it up.

Well, that seem to have fixed it. Either that or simply being the fourth try. Thanks!!


Really disable Kotlin tests

For real.

Not urgent, just something to do async after the sum type change.


Refactor TOTP dependent js files

Is your feature request related to a problem? Please describe.
With https://github.com/wso2/identity-apps/pull/1518/files we moved the TOTP pages to the authentication portal. While doing this we noted that there are certain js files that need to be refactored to remove unnecessary code.
For example gadget.js file (authentication-portal/src/main/webapp/js/gadget.js)
This issue is to track the refactoring effort.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Added docker-compose.yml and env variable OCTANE_OPTIONS

The docker-compose.yml file provides services for octane, horizon, and scheduler. It also provides a Redis and a MySQL container.
When running for local development, add COMPOSE_PROFILES=dev to your local .env file. This will use the php-dev service instead of the php service (to enable --watch in octane). It will also disable horizon and the scheduler.
When running in production, you can leave leave COMPOSE_PROFILES out of your .env file, or you can use COMPOSE_PROFILES=with_redis, COMPOSE_PROFILES=with_mysql, or COMPOSE_PROFILES=with_redis,with_mysql to enable Redis and/or MySQL.
If you prefer to not add the environment variable to .env, you can bring the services up with a profile by using docker compose --profile dev up

Today I've learnt something new about docker-compose that I see nowhere haha
I've planned to send a PR with the docker-compose for production, but I guess you'rs is better (has more cases)


[GSSOC'23]  -  Improper working of Navbar of Chapter Tab

Description
The navigation bar tabs are incorrectly highlighted when the user is on the Chapters page. Specifically, when visiting the Chapters page, the "Home" tab in the navigation bar is highlighted instead of the "Chapters" tab.
Expected Behavior
When the user is on the Chapters page, I expect the "Chapters" tab in the navigation bar to be highlighted to indicate the current active page.
Please check out this Screenshot!!

Could you please assign me this issue under GSSOC'23!!

@VyjayantiN In a latest update someone changed it. please pull all recent updates.

Yes sure , go ahead @VyjayantiN

@Git21221 That issue is fixed but the active tab is not being highlighted and the navbar links like home etc. are not redirecting to respective pages. I will fix them.

@VyjayantiN sure bro. That will be a nice work.


Modify $max-width variable to be consistent with Lost Grid

Since Lost Grid now utilizes a max-width of 1140px, might aswell update typographic to coincide with the $max-width variable just for consistency sake.

Fixed https://github.com/corysimmons/typographic/commit/64eab0f97b8be5be671ef0af35c557d6a051f7d3


UI & project updates

All new UI and data flow, and various project updates:

setup CI, running build & lint
cleanup env vars
simplify eslint setup by using default Next.js setup
remove a bunch of committed node_modules
use default Next.js tsconfig
updated readme

Current status, thanks @jamiehewitt15 & @mihaisc, that was nice to work with so far.
(Light/Dark mode switching is just delegated to your OS settings to keep it simple)

api updated

actually works now, as before we only fetched on a per-network basis. Removed pretty much all of the data restructuring code and now doing this:

get data from API
restructure everything into an object with network names as keys and return this
then just iterate over this one data object on our index page and be done with it

This seemed to be the most fitting data structure for this new layout:

Some things could be done over on the API to reduce some more filters, like instead of:
market: "UP"

it should return the same data structure as everywhere else:
market: { status: "UP" }

And would also help putting all our components under a components array, as otherwise have to filter for the other keys which are not the components

market: { status: "UP" }  will do.

And would also help putting all our components under a components array,

Don't get it, give an example please

Currently getting this for each network:
{
  __v: 0
  _id: "634f0466c118361aa402c4eb"
  aquarius: { status: "UP", response: 200, validChainList: true, … }
  currentBlock: 15777209
  dataFarming: "UP"
  lastUpdatedOn:<PHONE_NUMBER>569
  market: "UP"
  network: "mainnet"
  operator: { status: "UP", response: 200, version: "1.0.1", … }
  provider: { status: "UP", response: 200, version: "1.3.4", … }
  subgraph: { status: "UP", response: 200, version: "2.1.3", … }
}

And this would be easier to differentiate which data is for components:
{
  __v: 0
  _id: "634f0466c118361aa402c4eb"
  currentBlock: 15777209
  lastUpdatedOn:<PHONE_NUMBER>569
  network: "mainnet"
  components: {
    market: "UP"
    dataFarming: "UP"
    aquarius: { status: "UP", response: 200, validChainList: true, … }
    operator: { status: "UP", response: 200, version: "1.0.1", … }
    provider: { status: "UP", response: 200, version: "1.3.4", … }
    subgraph: { status: "UP", response: 200, version: "2.1.3", … }
  }
}

Sure, will do

And as seen on screenshot, for the subgraph the status doesn't change to WARNING if there's a statusMessages, but it probably should.

That was an intentional change. By common standard WARNING would be too much for just a version mismatch. People would get the wrong impression. Considering a lot of the times we don't upgrade intentionally.

cool, thanks. On first look, dataFarming and market here not under components key, was this intended?

Yes, but don't know why... it was late 😆

all good now with data structure. Now checking correctness of data. This here seems weird:

So there are 3 different versions in the data:

latestRelease
monitorVersion
version

Where I assumed version is the deployed version. But based on. screenshot it seems to be not?

Aquarius has 2 components, (this is why i was adding the name in the message). It's the aquarius api and aquarius event monitoring. There is only one api for all networks and it is represented by version . On each network we have an aquarius event monitor deployed that is indexing stuff. This is represented here by monitorVersion . I'll add the component back in the message name for aquarius event monitor.

I forgot to fix the faucet status

and getting double event-monitor with different version numbers for each network:

I forgot to fix the faucet status, to show Warning instead of Down

I'm undecided by now as I can see how this actually makes sense visually:

Like, subgraph in a way can be used when not fully synced. So maybe makes sense having a bit of different rules per component, and if it is indeed unusable it gets the DOWN status, just like we have now on faucet

think my confusion also came from fact that we mix up specific status & severity, where we should only use severity as status. So not "Up" & "Down", but success, error, warning.

Should we have an url for the relevant components? So you can quickly navigate to that component from the status page?

yeah was thinking about linking the component titles to something, like GitHub repo, which Could simply construct from the component name. But the actual url we are testing would be more useful, then I would need this pushed by API so as new url key would be perfect

Will do so next release will have:

url
improved messages for faucet for example : Low on OCEAN. {ocean} remaining.  (Warning) ,  or Less than 1000 OCEAN remaining (error)
fix provider name  (now is event-monitor)
insipred by github, change status to one of the following
a) Normal, Degraded, Outage
b) Operational, Partial Outage, Major Outage

Wait, you mean repo url?  I meant deployment url like www.market.oceanprotocol.com , not https://github.com/oceanprotocol/market

Should be good to go. Do you have any more changes planned?

dropped in swr so now we get among other things:

refetch upon window focus
refetch upon becoming online (after being offline)
refetch after 60 seconds

Really nice that netlify provides a quick qr code to test on mobile


feat(cli): user types and route/path separation

Codegen gets userTypes, which are a first-class type interchangeable with SchemaType. So far the only userType kind is enums.
The specifics of userTypes config option are still very volatile and will likely change in future PRs.
Enums as primary keys seem pointless, but this paves the way for entities and relational types

Currently the only supported type of user type is "Enum"

yes

The schema is not impacted by user types, user types are handled as uint8 in field values, and therefore no changes are needed for decoding updates on the indexer or client

yes

Currently only the autogenerated Solidity table libraries care about user types (in the function signatures, for encoding/decoding, and for the return type)

yes
(I also had to add a little resolver to deploy-2 to get SchemaType from schemaOrUserType)

In a follow up PR we can add autogenerated typescript enums and similar auto-generated wrappers around the client decoders to turn the uint8 values into Enums

yes

This is a very useful addition to the autogenerated libraries. You mentioned you expect this to pave the way for foreign keys, could you elaborate a bit on this?

these aren't strictly sequential things, but the idea is when I make table relationships, user types can be used for:

EntityId wrapper like in recs
wrapping some primary/foreign key types, allowing them to have instance getters for convenience for example


[Reflection] Fix the ownsAddress function to claim heap-allocated Metadatas

ownsAddress was a simple range check on images, but that won't find Metadatas that get allocated on the heap. If an address isn't found, try reading it as a Metadata and doing a range check on the type context descriptor too.
rdar://problem/60981575

@swift-ci please test


Use macos instead of osx64

Seems that upstream updated the minimum macOS version to have universal builds for Intel and M1.
See more details here: https://github.com/neovim/neovim/pull/19029

Looks great! Thanks!


w2form() method can't handle 'selected' option.

Hello,
I found that w2form() method can't handle 'selected' option as following...
$('#form').w2form({
    name     : 'form',
    url      : 'server/post',
    fields: [
        { name: 'field_enum', type: 'enum', required: true},
            options: {
                items: [{id:0, text:'Adams, John'}, {id:1, text:'Johnson, Peter'}, {id:2, text:'Lewis, Frank'}, {id:3, text:'Cruz, Steve'}, {id:4, text:'Donnun, Nick'}],
                selected: [{id:1, text:'Johnson, Peter'}]  // <- not working!
            }
        }
    ],
    }
});

Instead, I tried w2field method. but, this method can't handle 'required' option.
$('input[name="field_enum"]').w2field({
        type: 'enum',
        items: [{id:0, text:'Adams, John'}, {id:1, text:'Johnson, Peter'}, {id:2, text:'Lewis, Frank'}, {id:3, text:'Cruz, Steve'}, {id:4, text:'Donnun, Nick'}],
        selected: [{id:1, text:'Johnson, Peter'}], // <- working!
        required: true // <- not working!
    }
);

Would you be able to check this problem?
(Sorry for my broken English. I'm not native english writer.)

Hi Vitmalina,
This is vijay, I am using options selected inside searches like following,but it is not working please help me.

Thanks,
Vijay

Not working for me either
I'm using 1.4.3
Is there any workaround or fix to make it work ?

Please provide a jsFiddle as an example.

Hello,
Thanks for your reply.
I actually found a way around by setting the record node with the selected item to force it
Best regards
PS : By the way : great framework !
................................................................................................................
Le Responsable
Olivier SIVRIERE
................................................................................................................
WESH PROD Studio
1800
Avenue André Lasquin
74700 Sallanches
tel : +33(0)<IP_ADDRESS>.36
<EMAIL_ADDRESS>- www.weshprod.com
....................................................................................
................................................................................................................
Le 7 déc. 2015 à 18:19, Vitali Malinouski<EMAIL_ADDRESS>a écrit :
Please provide a jsFiddle as an example.
—
Reply to this email directly or
view it on GitHub.


Interact mode

Hello,
I'm looking for a way to add interact mode.
Like pressing a key or left clicking mouse to use someting, like light switchs or door.
Is this possible ?
I don't know where to start, complete noob here.
Thank you and great project btw.

Thank you, it helped me a lot.


Eliminate optional chaining in URLSession

This looks like it's a change in behaviour - you're replacing optional uses with fatalErrors should they not be what you expect. If you're going to do that, you might as well have just used forced unwraps instead.
It's not clear to me that this is a sensible or desired change though. What was the thought behind this?

@alblue Thanks for reviewing! These crashes are very unlikely to occur. Even if it crashes in very rare scenario, I believe fatal errors will give more information to the user about the crash than halting the application with no operation.

They are implemented, and caught, in exactly the same way using force unwrapping:
fatalError()

fatal error: file tst.swift, line 1
Current stack trace:
0    libswiftCore.so                    0x00007fc137fda1c0 swift_reportError + 120
1    libswiftCore.so                    0x00007fc137ff4ad0 _swift_stdlib_reportFatalErrorInFile + 100
2    libswiftCore.so                    0x00007fc137def40c <unavailable> + 1188876
3    libswiftCore.so                    0x00007fc137f8737d <unavailable> + 2859901
4    libswiftCore.so                    0x00007fc137deebe6 <unavailable> + 1186790
5    libswiftCore.so                    0x00007fc137f8d290 <unavailable> + 2884240
6    libswiftCore.so                    0x00007fc137def01f <unavailable> + 1187871
7    libswiftCore.so                    0x00007fc137f4dfa9 <unavailable> + 2625449
8    libswiftCore.so                    0x00007fc137deebe6 <unavailable> + 1186790
9    libswiftCore.so                    0x00007fc137f0b260 specialized _assertionFailure(StaticString, String, file : StaticString, line : UInt, flags : UInt32) -> Never + 144
10   tst                                0x0000000000400a30 <unavailable> + 2608
11   libc.so.6                          0x00007fc137083740 __libc_start_main + 240
12   tst                                0x00000000004008b9 <unavailable> + 2233
Illegal instruction

let a:String? = nil
a!

fatal error: unexpectedly found nil while unwrapping an Optional value
Current stack trace:
0    libswiftCore.so                    0x00007f254974f1c0 swift_reportError + 120
1    libswiftCore.so                    0x00007f2549769be0 _swift_stdlib_reportFatalError + 62
2    libswiftCore.so                    0x00007f2549563be6 <unavailable> + 1186790
3    libswiftCore.so                    0x00007f25496c2ead <unavailable> + 2625197
4    libswiftCore.so                    0x00007f2549563be6 <unavailable> + 1186790
5    libswiftCore.so                    0x00007f254967e060 specialized _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never + 96
6    tst                                0x0000000000400afa <unavailable> + 2810
7    libc.so.6                          0x00007f25487f8740 __libc_start_main + 240
8    tst                                0x00000000004008e9 <unavailable> + 2281
Illegal instruction

Arguably by hiding the fact that it was an unwrap of an optional value, you have resulted in less information being displayed about the error rather than increased it.
Can you tell me why you think this will halt without displaying information when using a force unwrap? Or why crashing is the preferred behaviour instead of just using optional chaining, which was designed to avoid crashing in this way?

Thanks @alblue. I agree with you.


MIXEDARCH-256: Handle the kubernetes.io/architecture label based on the AWS instance type

This PR adds the kubernetes.io/architecture to the MachineSet labels machine.openshift.io/labels annotation so that the kubernetes-autoscaler can address the autoscale from 0 cases when a workload declares a requiredAffinity against a (set of) specific architecture(s).
This work is currently tested on a custom backport of kubernetes/autoscaler#5697 and kubernetes/autoscaler#5382 and expects them to enable the architecture-aware autoscale from 0 working fine.
Adding this feature now is harmless. After the rebase of the downstream kubernetes-autoscaler lands, it will start handling the autoscale from 0 for AWS multi-arch OCP clusters.
cc @Prashanth684 @elmiko @JoelSpeed

/hold

/unhold

lgtm

Hi @elmiko thanks for the review. I added some test cases for both the newly introduced functions. Can you PTAL?

/lgtm
/retest

/test e2e-aws

/test e2e-aws

It sounds good to me assuming we all agree on having the two behaviors for adding labels to node groups as we're discussing in the rebase PR.

/hold
as the mergeCommaSeparatedKeyValuePairs will be used among several cloud providers actuators, to avoid duplicating code, I'd file a PR to the machine-api-operator repo to add it in a util package to be consumed by the actuators.

/test unit

/unhold

/test unit

/test e2e-aws

/test e2e-aws

/test e2e-aws-serial

Had a quick review and things look good here, what's the path to getting this merged?

Hi @JoelSpeed based on current process, I'd get the approved and lgtm labels for both this and https://github.com/openshift/machine-api-provider-azure/pull/65. Then, I'd proceed with the valid-bug labeling process. The feature is expected to be complete once we merge this, the azure PR and the autoscaler rebase.
I also gave a first look at whether we could do something similar for the gcp actuator, but it does not seem as trivial as for Azure and AWS yet. I'll reach out probably offline about this with more info, but wouldn't block azure and AWS for it.

Rebased.
/cc @JoelSpeed @elmiko @Prashanth684

/approve
/assign @elmiko

/label jira/valid-bug

/test e2e-aws

/test e2e-aws-operator


Bump schemathesis to v3.31.0 and silence warnings on API tests

Fixes

Several warning messages have been accumulating in the running of API tests. In main, you will see and output like the following below. Most of these can be fixed or silenced and should be addressed given they're just noise in the tests' output.
test/unit/controllers/test_search_controller.py::test_get_result_and_page_count[5-5-0-1-expected1]
  /.venv/lib/python3.11/site-packages/_pytest/python.py:1792: PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown.
  Plugin: schemathesis, Hook: pytest_pyfunc_call
  ZeroDivisionError: division by zero
  For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)

test/unit/controllers/test_search_controller.py::test_get_excluded_sources_query_returns_excluded[2-result0-False-unreachable_search_con_cache]
  /.venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1595: RuntimeWarning: DateTimeField ContentSource.created_on received a naive datetime (2024-07-02 18:16:51.471033) while time zone support is active.
    warnings.warn(

test/unit/controllers/test_search_controller.py::test_get_excluded_sources_query_returns_excluded[2-result0-False-unreachable_search_con_cache]
  /.venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1595: RuntimeWarning: DateTimeField ContentSource.created_on received a naive datetime (2024-07-02 18:16:51.492997) while time zone support is active.
    warnings.warn(

test/unit/configuration/test_link_validation_cache.py::test_environment_overrides[overrides4-expecteds4]
  /.venv/lib/python3.11/site-packages/_pytest/python.py:1792: PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown.
  Plugin: schemathesis, Hook: pytest_pyfunc_call
  ImproperlyConfigured: Invalid link validation cache setting. Impossible to parse default.
  For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)

test/unit/configuration/test_link_validation_cache.py::test_environment_overrides[overrides5-expecteds5]
  /.venv/lib/python3.11/site-packages/_pytest/python.py:1792: PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown.
  Plugin: schemathesis, Hook: pytest_pyfunc_call
  ImproperlyConfigured: Invalid link validation cache setting name: LINK_VALIDATION_CACHE_EXPIRY__. Please ensure settings are named in the format of 'LINK_VALIDATION_CACHE_EXPIRY__<http integer status code>'.
  For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)

test/unit/configuration/test_link_validation_cache.py::test_environment_overrides[overrides6-expecteds6]
  /.venv/lib/python3.11/site-packages/_pytest/python.py:1792: PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown.
  Plugin: schemathesis, Hook: pytest_pyfunc_call
  ImproperlyConfigured: Invalid link validation cache setting. Impossible to parse 500.
  For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)

Description

The warning on naive datetime is fixed by specifying the UTC timezone
The PluggyTeardownRaisedWarning messages are silecended given those exceptions are expected and captured in the same tests

Testing Instructions

Observe said warnings are no longer shown in this branch.
ov just api/test

Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[x] I ran the DAG documentation generator (./ov just catalog/generate-docs for catalog PRs) or the media properties generator (./ov just catalog/generate-docs media-props for the catalog or ./ov just api/generate-docs for the API) where applicable.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@sarayourfriend Good note, given that, I realized we could update schemathesis, tried it and that fixed the warnings that the pytest.marks were touching. Much better this way! There are still some annoying DeprecationWarning tho. It'd be nice to solve them upstream.

Most are from schemathesis and there's an issue to solve them already: https://github.com/schemathesis/schemathesis/issues/1755.
In CI these are also shown that I didn't notice locally 🤔 Not sure what to do with the "invalid escape sequence", and do we want to preserve the pytest cache?
test/integration/test_media_integration.py::test_detail_view_for_invalid_uuids_returns_not_found[image_media_type_config-123456789123456789123456789123456789]
  /api/api/templatetags/get_attr.py:6: DeprecationWarning: invalid escape sequence '\d'
    numeric_test = re.compile("^\d+$")

../.venv/lib/python3.11/site-packages/_pytest/cacheprovider.py:451
  /.venv/lib/python3.11/site-packages/_pytest/cacheprovider.py:451: PytestCacheWarning: could not create cache path /api/.pytest_cache/v/cache/nodeids: [Errno 13] Permission denied: '/api/.pytest_cache'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../.venv/lib/python3.11/site-packages/_pytest/stepwise.py:56
  /.venv/lib/python3.11/site-packages/_pytest/stepwise.py:56: PytestCacheWarning: could not create cache path /api/.pytest_cache/v/cache/stepwise: [Errno 13] Permission denied: '/api/.pytest_cache'
    session.config.cache.set(STEPWISE_CACHE_DIR, [])

Not sure what to do with the "invalid escape sequence"

That is fixed by adding the r modifier to the string, which automatically doubles \ so that they are escaped in the underlying string representation. re.compile(r"\d") and re.compile("\\d") are equivalent. That's an easy one to solve, but worrying that we didn't catch that error in testing :thinking:. Anyway, I'll open an issue for it later.
The two cache ones I'm unsure of off the top of my head. I'd have to research pytest's caching to know what's going on there... maybe it's a file permissions issue in CI? :shrug: Worth opening an issue for.
Maybe one more issue we could open is to fail CI if unhandled deprecation warnings show up in the unit test output. That might be kind of restrictive, but we could take the approach of silencing and creating issues to address them instead of requring they are immediately addressed. At least then we won't end up with a heap of warnings over time like we did before this PR.


Ticket Cookie

I'm wondering if Garmin has updated their privacy settings. I used your code back in February 2021 with no errors but when I tried running today, I get the following error:
Traceback (most recent call last):
File "gcexport.py", line 114, in
raise Exception('Did not get a ticket cookie. Cannot log in. Did you enter the correct username and password?')
Exception: Did not get a ticket cookie. Cannot log in. Did you enter the correct username and password?
Any thoughts on this? Thanks!

I also encountered the same issue :(


Scope tags for taggable type

just realized when suggesting autocomplete for tags to users, i cant show tags only for a certain taggable_type
(maybe i missed it in the code though) - if not here is a patch for that situation.
in may case - tags are totally different depending on the class the are assigned to. now i can filter for that as well.

This new scope will need a Readme and Changelog entry.


Reolink E1 Zoom and Video Doorbell (POE) - no audio in WebRTC mode, only MSE mode. go2rtc v1.9.4

Reolink E1 Zoom and Video Doorbell (POE) - no audio in WebRTC mode, only MSE mode. go2rtc v1.9.4
I have seen issues where lack of audio has been reported for go2rtc version v1.2.0 I believe. I have been using the Frigate Home Assitant add-on for a while with go2rtc v1.5.0, but I've noticed that me E1 Zooms do no have any audio in WebRTC mode, only in MSE mode. I am not tlking about 2-way audio here, which I understand will not work as Reolink's implemention is proprietary. I am talking about camera audio.
This issue only came to light today as I recently purchased a Reolink Video Doorbell (POE) and I've been messing around trying to get it to work with the WebRTC card. The same issue exists. Camera audio only works in MSE mode, not WebRTC mode. Talkback, however, works but only in WebRTC mode and not MSE mode.
I am using a Conditional Card linked to a toggle helper to control mic access. When the toggle is on, the mic is enabled by setting "media: video, audio, microphone" as follows in the WebRTC card:
type: custom:webrtc-camera
url: rtsp://admin:pass@192.168.X.X:554/h264Preview_01_sub
media: video, audio, microphone
mode: webrtc
muted: false
When the toggle is off, the mic is disabled by setting "media: video, audio" as follows in the WebRTC card:
type: custom:webrtc-camera
url: rtsp://admin:pass@192.168.X.X:554/h264Preview_01_sub
media: video, audio
mode: webrtc
muted: false
I updated to go2rtc v1.9.4 but I still have the same issues.
I prefer to use direct URLs for each camera in my dashboard rather than HA or Frigate cameras as the latency is amost instantaneous this way.
Any ideas if there is a go2rtc issue or whether I need to do things differently?

https://github.com/AlexxIT/go2rtc?tab=readme-ov-file#codecs-madness
Ensure that you add an ffmpeg stream to transcode the audio to OPUS for WebRTC to play it. Most cameras will use AAC, which cannot be played through WebRTC.
Camera:
  - http://........
  - ffmpeg:Camera#audio=opus

@dagleaves thanks. Codecs madness is a right link for this issue.
All Reolink cameras uses AAC sound by default without any setting to change it on camera side. You should use transcoding.


 Am I doing it wrong or is this a bug? I even tried "zombievillager" but that didn't work either
spawning:
  ==: MVSpawnSettings
  animals:
    ==: MVSpawnSubSettings
    spawn: 'true'
    spawnrate: '-1'
    exceptions: [villager]
  monsters:
    ==: MVSpawnSubSettings
    spawn: 'true'
    spawnrate: '-1'
    exceptions: [zombie_villager]

closing as its similar to #1845


Add support for specifying notification preferences

It should be possible for users to disable certain notifications and this should be tracked by proteus-registry.
The settings we need to track are:

Notify on news
Automated testing

We should make it support scaling to other notification types as well.

We are going to be discontinuing orchestra in the future. We can close this issue as no longer relevant.


[GSB] Address feedback from @huon_w on the term-rewriting code.

@swift-ci please smoke test and merge


Retrieve experiences from database

Summary
We need to be able to automatically retrieve experiences from the OH database and display them on the platform interface
Deadline
What needs to be done?

[ ] Experiences with approval to be published on the platform should be displayed on the private "moderation page"
[ ] Experiences with approval from moderators to be published should be displayed on the "view experiences" page
[ ] All saved andd submitted experiences should be viewable by the user who submitted them privately on their account.

Who can help?
The dev team!

The tasks mentioned in this ticket represent a subset of tasks for completing the View Experiences task.
Closing. A ticket including the complete set of tasks needed to implement View Experiences will follow.


FEAT-#6366: add to_csv parallel implementation for Dask

What do these changes do?

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #6366
[ ] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date

Haven't found a way to avoid the deadlock for Dask yet.


Could you provide the weight pruning code for MobileNetV1 and InceptionV3?

Duplicate of #29163 . Closing the issue. Thanks!


Unexpectedly found nil when returning to app

New Issue Checklist

I have read the guidelines for contributing and I understand:

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

Issue Description

Hello, this is not reproducible in the demo project but I think it's something you might want to look at anyways.
https://imgur.com/a/XPn75
This occurs when the app opens a URL (kicking them out to safari), user interacts with a web page, and then they hit the arrow in the top left sending them back to the app. Would it be possible to handle these unwraps more gracefully?

This should be reproducible in the app (with a very simple modification) if it's as generic as you describe it. Does this in fact happen? If so, I'd call it a bug.

I have attempted to reproduce this to no avail.


ONNX "resize" op test failures

What happened?
https://github.com/iree-org/iree/pull/17330 updates our LLVM and torch-mlir commits, pulling in https://github.com/llvm/torch-mlir/pull/3013. Some tests are newly passing, many tests are still failing somewhere (compiler, runtime numerics), and a few tests are hanging on certain platforms.
At least CUDA is hanging on test_resize_downsample_scales_linear:
https://github.com/iree-org/iree/actions/runs/9034897378/job/24828864270?pr=17330#step:9:1813
I can't reproduce that on Windows though.
Steps to reproduce your issue
Generally follow the instructions at https://github.com/nod-ai/SHARK-TestSuite/tree/main/iree_tests and pull the config files from this repo.
For example, to run on CUDA:
pytest onnx/ -k test_resize -rA \
  --config-files=D:\dev\projects\iree\build_tools\pkgci\external_test_suite\onnx_gpu_cuda.json \
  --ignore-xfails

or Vulkan:
pytest onnx/ -k test_resize -rA \
  --config-files=D:\dev\projects\iree\build_tools\pkgci\external_test_suite\onnx_gpu_vulkan.json \
  --ignore-xfails

Config
Logs

CPU
https://gist.github.com/ScottTodd/0778165b2d31a54bfefbb9fa2b2662d6

CUDA
https://gist.github.com/ScottTodd/dd34be6577da489f3d5b6b0a0a65ed0d

Vulkan
https://gist.github.com/ScottTodd/b2f509585bee804ebd900e2144258241

Note that Vulkan has model.mlir:4:10: error: failed to legalize operation 'arith.fptosi' that was explicitly marked illegal
What component(s) does this issue relate to?
Frontends, Compiler, Runtime
Version information
No response
Additional context
No response

FYI @AmosLewis this is the reason why https://github.com/llvm/torch-mlir/pull/3013 was ultimately dropped from the integrate #17330.

FYI @AmosLewis this is the reason why llvm/torch-mlir#3013 was ultimately dropped from the integrate #17330.

Will you start a new PR to bump it next? Do you have any idea is it a torch-mlir bug or is it an iree bug?

I suspect the Vulkan failed to legalize operation 'arith.fptosi' error is in upstream MLIR SPIRV (missing lowering)
Numerical errors in tests could be issues in the torch-mlir lowerings
CUDA hang ... no idea, couldn't get much from CI logs and couldn't reproduce on Windows. Maybe a miscompile (torch-mlir lowering) or runtime issue (IREE CUDA HAL), if compilation succeeded but the hang was a runtime.

https://github.com/nod-ai/SHARK-Turbine/issues/616 the model and failure resize mlir are listed in the description

Will you start a new PR to bump it next?

I don't plan to do it myself. We have an integration rotation schedule and the integrates of this week were already done out-of-schedule :-)

We have a separate rotation for updating torch-mlir (in fact, @AmosLewis is up for next week 🤔). They are usually updated separately but needed to be updated together in this case.

https://github.com/iree-org/iree/pull/17358


Translated PyRaylib-specific Documentation

Introduction.
This project should be cherished as it's one of the fastest/easiest ways to bootstrap a graphical/3D application. There's documentation to be found all kinds of places (raylib, source, CLI doc), but I did not find a pyraylib-specific html/pdf reference doc.
I know many Raylib developers will surely be comfortable using the source of this project combined with raylib.h or the cheatsheet pdf as a full reference documentation.
And a lot of our experienced Python friends will be fine with using the help function to get a nicely formated CLI document about the Window Class. (Though it must be done via a source file, because this module doesn't like to be imported by shell)
But since this is such a special project, bridging two technologies that were inherently designed to be fun yet powerful, I think it deserves its very own reference documents.
Statement.
I am electing to take what I know about Raylib -- and some of my own opinions about documentation and readability -- to create a special set of documentation designed for new pyraylib users.
Plans.

The documentation will be accessible via static single page HTML
"" via interactive HTML page with convenience organizational features
An empty window project template available for download
(stretch) A spinning cube project template available for download
(stretch) Any additional project templates will be behind a "more" button

Integration/Hosting.
I can host this on my website. Or it can be within GH Wiki for this repo or a fork.
In a perfect world, new users can find the docs from the GH readme, and the PYPI index.
Action Item.
I suggest one of the following would be a logical next step !

Assign this issue to my user account
Tell me you rather I make a fork of the project first

@SamyBencherif thank you so much for your proposal, and I'm sorry i did not see your issue earlier, so I assigned this issue to you, I appreciate your work .💛


Icc refactor

Now with the correct project file.

2nd time lucky.
The reason for moving the poco to an interface is so that the configuration items can be extended with interface inheritance rather than concrete inheritance.
I have a need to add additional items to the CrawlConfig (creating my own POCO). I want to ensure that the core has all the properties (defined by the interface contract), and extend my own type with additional members. The derived type I am creating may well have lots of additional properties, and serialization logic that should be abstracted by the newly added interface.
This pattern already appears to be used with ICrawlDecissionMaker, IPageRequester etc.

I like your argument more today:) However, the ICrawlDecisionMaker and IPageRequester interfaces exist because those implementations have behavior, not just simple properties. Changing the dependency signatures to ICrawlConfiguration would break existing user's custom code. This would require changing the version to 1.5.x to spotlight the breaking changes. At this moment I dont think the addition is enough to justify all that.
However, thank you for your contribution. I know it takes time and effort to prepare these pull requests.

I'm kind of convinced that it's not going to break backward compatibility. Please correct me if I have missed something.

If a user has added an instance of CrawlConfig then this will still work (CrawlConfig implements the interface).
If the user has derived from CrawlConfig and used their new object, that will also still work as the base type will still implement the interface.

Sorry, you are absolutely correct. Your change would be backward compatible. However, I still cannot accept the pull request due to my belief that pocos should not implement an interface. It would be a one-off since all the other pocos do not follow this pattern. I understand and respect your argument though.
Thanks!


add new argument availability_config to the instance. for VM migration during infrastructure maintenance events

Please group the new two variables to the existing config object
recovery_action             = string
is_live_migration_preferred = bool


Need for for feeder/provider template?

I noticed #161 and started to think how we want to handle new contributions in the future when we have separate repositories for each feeder/provider/service. Then it is not sufficient like  in #161 to just add a few files, you need to add additional files (LICENSE, .gitignore, CI-files, ...). I am thinking if it would make sense to have a dedicated minimalist repo that could be used as designbase, possibly called kuksa-provider-template, kuksa-example-provider or kuksa-repo-template. It could even be a Github template repository

Yes, like in eclipse velocitas maybe. Sounds definetly good. CI wise also very good approach I guess. But we shouldn't forget to do a documentation somewhere and state it on the front page. Then the "user" does not need to search this long and we have better PRs without redirecting/explaining them.

We could even add a devcontainer again. In it just Databroker and/or some example provider (dbc-provider?)

Maybe we should add a README to our (new) Github root, like for https://github.com/eclipse-velocitas. Compare with https://github.com/eclipse-kuksa which is quite empty right now.
If we have a README there some text on how to propose/contribute new repos make sense. Like creating a new repo using the template and then create an issue in kuksa-common (if we want to use that repo for every request that does not fit elsewhere)
How to add organization README


[Snyk] Upgrade eslint-plugin-import from 2.27.5 to 2.28.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade eslint-plugin-import from 2.27.5 to 2.28.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 24 days ago, on 2023-07-28.

Release notes

Package name: eslint-plugin-import

2.28.0 - 2023-07-28v2.28.0

2.27.5 - 2023-01-16v2.27.5

    from eslint-plugin-import GitHub release notes

Commit messages

Package name: eslint-plugin-import

a257df9 Bump to 2.28.0
600fcc1 [Refactor] `order`: use `object.groupby`
be928ae [Refactor] `no-internal-modules`: simplify a reduce
e7c2486 [Refactor] `no-useless-path-segments`: use `.filter` instead of `.reduce`
89f5d0d [Refactor] `no-anonymous-default-export`: use `fromEntries` instead of `reduce`
703e9f9 [Refactor] `no-duplicates`, `no-unused-modules`: use `flatMap` instead of `map` + `filter`
70f24f1 [Tests] allow WSL builds to fail, for now
90e2dfa [Fix] `no-unused-modules`: report error on binding instead of parent export
d3aa478 [Tests] `no-unused-modules`: document error reported on entire `export` statement
3e1dd0b [Fix] `no-unused-modules`: improve schema
a6de522 [Tests] `no-unused-modules`: properly skip in mocha 3
68bf510 [eslint] enable `array-bracket-spacing`
d8002be [Fix] `extensions`: handle `.` and `..` properly
f302f7d [Fix] `no-duplicates`: Prefer combined type and regular imports when using `prefer-inline`
e2cf99c [Deps] update `semver`
ee00a1c [Fix] guard against empty parent
3a5ad34 [Refactor] `no-unused-modules`: use `array.prototype.flatmap`
2c196b0 [Refactor] `no-anonymous-default-export`: use `object.fromentries`
66e755f [Refactor] `exports-last`: use `array.prototype.findlastindex`
a24a03b [meta] Add "eslint-plugin" to the list of keywords in package.json
88dd815 [Deps] update `is-core-module`
328064a Fix invalid YAML in import/parsers example
afaefbb [Refactor] `ExportMap`: rename `tsConfig` to `tsconfig`
eaa1591 [Tests] switch some files to unix line endings

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

LGTM


Fix AppConfig client builder to use custom pipeline if provided

API change check
API changes are not detected in this pull request.


Spike for XadES_BES for an XML file

Investigate a way to sign an XML document with a .p12 file

A library for XadEs written in TS/JS: https://github.com/PeculiarVentures/xadesjs


Added Technical Writer Information

Added portfolio, interests, and related information as part of my application for GSoD 2021.

@googlebot  I signed it!


Update Service API service and endpoint schema definitions

This PR contains changes to how Service API handles schema definitions.
Instead of one global Schema on Config, now there are:

A service-scoped API specification url (passed in config)
Endpoint-scoped schemas defined when adding each endpoint

ime its nearly impossible to extract per action schemas out thats actually useful, so I would use the url most often, though might have been nice to be able to return a service specific open api schema that covers the whole thing without needing a url.
though it would also be nice if a url could be like kv://registry/service.v1 to get it out of kv

@ripienaar We were thinking about aggregating per-endpoint schemas to form a complete schema, but also give possibility to add a service-scoped schema URL (though I agree, url to KV would be nice).
The way it is proposed now would enable to easily parse all endpoint schemas into some target format, because when you call SCHEMA, you get all you want - endpoint names, subjects and request/response schemas.

Yeah what’s there now seems fine.
Personally I would just use the top schema feature since as I am sure you know breaking even the most basic OpenAPI or Proto spec into somethings that describes a single function that then results in a valid OpenAPI or proto spec is extremely difficult given the general quality of these libs
But no harm in supporting oer endpoint specs for those who can use tbem as long as the top level one is fully capable


BUG: Get exception when delete operation completed successfully (v6.16.0)

Below is TSP sample, with the sample, we can find generated openapi definition the delete success will return 204 without content,  but the generated python code is trying to get and parse content and get one exception.
There is no issue when using v6.11.0
Python code generated:
def delete(self, id: str, **kwargs: Any) -> _models.DeleteResponse:
      """delete.

      :param id: Required.
      :type id: str
      :return: DeleteResponse. The DeleteResponse is compatible with MutableMapping
      :rtype: ~demoservice.models.DeleteResponse
      :raises ~azure.core.exceptions.HttpResponseError:

      Example:
          .. code-block:: python

              # response body for status code(s): 204, 403, 401
              response == {
                  "code": "str",
                  "id": "str",
                  "message": "str",
                  "status": "str"
              }
      """
      error_map: MutableMapping[int, Type[HttpResponseError]] = {
          401: ClientAuthenticationError,
          404: ResourceNotFoundError,
          409: ResourceExistsError,
          304: ResourceNotModifiedError,
      }
      error_map.update(kwargs.pop("error_map", {}) or {})

      _headers = kwargs.pop("headers", {}) or {}
      _params = kwargs.pop("params", {}) or {}

      cls: ClsType[_models.DeleteResponse] = kwargs.pop("cls", None)

      _request = build_widgets_delete_request(
          id=id,
          headers=_headers,
          params=_params,
      )
      path_format_arguments = {
          "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True),
      }
      _request.url = self._client.format_url(_request.url, **path_format_arguments)

      _stream = kwargs.pop("stream", False)
      pipeline_response: PipelineResponse = self._client._pipeline.run(  # pylint: disable=protected-access
          _request, stream=_stream, **kwargs
      )

      response = pipeline_response.http_response

      if response.status_code not in [204, 401, 403]:
          if _stream:
              try:
                  response.read()  # Load the body in memory and close the socket
              except (StreamConsumedError, StreamClosedError):
                  pass
          map_error(status_code=response.status_code, response=response, error_map=error_map)
          raise HttpResponseError(response=response)

      if response.status_code == 204:
          if _stream:
              deserialized = response.iter_bytes()
          else:
               #####!!!! get exception here #########
              deserialized = _deserialize(_models.DeleteResponse, response.json())

      if response.status_code == 401:
          if _stream:
              deserialized = response.iter_bytes()
          else:
              deserialized = _deserialize(_models.DeleteResponse, response.json())

      if response.status_code == 403:
          if _stream:
              deserialized = response.iter_bytes()
          else:
              deserialized = _deserialize(_models.DeleteResponse, response.json())

      if cls:
          return cls(pipeline_response, deserialized, {})  # type: ignore

      return deserialized  # type: ignore

OpenAPI generated:
    delete:
      tags:
        - Widgets
      operationId: Widgets_delete
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: 'There is no content to send for this request, but the headers may be useful. '
        '401':
          description: Access is unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  code:
                    type: string
                    description: The code of the error.
                  message:
                    type: string
                    description: The message in case of a blocking error in calculation.
                  status:
                    type: string
                    description: The status of the error.
                required:
                  - id
                  - code
                  - message
        '403':
          description: Access is forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  code:
                    type: string
                    description: The code of the error.
                  message:
                    type: string
                    description: The message in case of a blocking error in calculation.
                  status:
                    type: string
                    description: The status of the error.
                required:
                  - id
                  - code
                  - message

TSP:
import "@typespec/http";

using TypeSpec.Http;
@service({
  title: "Widget Service",
})
namespace DemoService;

model Widget {
  @visibility("read", "update")
  @path
  id: string;

  weight: int32;
  color: "red" | "blue";
}

alias Error = {
  @statusCode statusCode:
      | 403
      | 401;

      id: string;
      /** The code of the error. */
      code: string;
      /** The message in case of a blocking error in calculation. */
      message: string;
      /** The status of the error. */
      status?: string;
};

@route("/widgets")
@tag("Widgets")
interface Widgets {
  @get list(): Widget[] | Error;
  @get read(@path id: string): Widget | Error;
  @post create(...Widget): Widget | Error;
  @patch update(...Widget): Widget | Error;
  @delete delete(@path id: string):void  | Error;
  @route("{id}/analyze") @post analyze(@path id: string): string | Error;
}

I will take an investigation asap

Hi @hyang691 Usually 401/403 is error code and shall throw error for SDK users. Could you try to add @error for the Error like:
@error
model Error {
  @statusCode statusCode:
      | 403
      | 401;

      id: string;
      /** The code of the error. */
      code: string;
      /** The message in case of a blocking error in calculation. */
      message: string;
      /** The status of the error. */
      status?: string;
};

If I change the code a little big and still can reproduce the issue.   Our TSP code is written by different team, is it possible make the latest code compatible with v6.11.0 to avoid change TSP code.
for example, change
@error
model Error {
  @statusCode statusCode:
      | 403
      | 401;

      id: string;
      /** The code of the error. */
      code: string;
      /** The message in case of a blocking error in calculation. */
      message: string;
      /** The status of the error. */
      status?: string;
};

To
model ErrorResponse{
  id: string;
  /** The code of the error. */
  code: string;
  /** The message in case of a blocking error in calculation. */
  message: string;
  /** The status of the error. */
  status?: string;

}

@error
model Error  {
  @statusCode statusCode:
      | 403
      | 500
      | 401;

     ...ErrorResponse;
};

Could you help to investigate more to make it compatible with v6.11.0? thanks

I reopen the ticket.

After discussion, Python team thinks your tsp doesn't follow API design principal so it is better to update the tsp. It shall be OK if you change model ErrorResponse to alias ErrorResponse like:

alias ErrorResponse = {
  id: string;
  /** The code of the error. */
  code: string;
  /** The message in case of a blocking error in calculation. */
  message: string;
  /** The status of the error. */
  status?: string;

};

@error
model Error  {
  @statusCode statusCode:
      | 403
      | 500
      | 401;

     ...ErrorResponse;
};


... missing field live

Noalbs v2 do not seem to know what to look for ... or am I doing something wrong?
(My v1 works perfect)
LOG:
2022-01-26T12:16:36.239171Z ERROR NOALBS{user=testuser}:Switcher: noalbs::stream_servers::nginx: Error parsing stats (http://<IP_ADDRESS>:8085/stats) missing field live
Part of config:
    },
    "switchingScenes": {
      "normal": "rtmp",
      "low": "rtmp_low",
      "offline": "rtmp_off"
    },
    "streamServers": [
      {
        "streamServer": {
          "type": "Nginx",
          "statsUrl": "http://<IP_ADDRESS>:8085/stats",
          "application": "test_1234",
          "key": "testuser"
        },
        "name": "RTMP",
        "priority": 0,
        "overrideScenes": null,
        "dependsOn": null
      }
]

Some other things ...
Config-conversion from v1 to v2, do not convert old scene-names. (My scenes are renamed compared to original v1-config names)
Does v2 not use 'refresh-scene' anymore? Can only find "normal", "low" and "offline".
NOALBS 2.4.2 // RTMP NGINX

Hi DigibitDK,
Thanks for reporting these issues.
I am unable to reproduce the NGINX parsing issue, could you please send me the raw XML output of the stats page. You can do this by going to the stats page and viewing the page source.
I have fixed the config conversion to work as expected, it will be available in the next release.
NOALBS v2 does not use the refresh scene anymore since the fix command should solve all issues.

Hi Brian.
How can i send it to you? I can't publish it here for security reasons. (Im a RTMP-provider)
If fix works the exact same way as in v1, then i'm a little concerned about the removing of the refresh-function, since fix not always seems to do the trick. OBS do strange things from time to time, that fix do not seem to recover. But that function might be diffrent in v2, I need to test that.

(Discord friend request sent)

Af output of the RTMP-log. v1 vs v2. Not sure if that gives any clues. (With no incoming stream)
v1:
<IP_ADDRESS> - - [27/Jan/2022:15:03:40 +0000] "GET /stats HTTP/1.1" 200 9327 "-" "-"
v2:
<IP_ADDRESS> - - [27/Jan/2022:15:04:52 +0000] "GET /stats HTTP/1.1" 200 9326 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"

Issues confirmed fixed in 2.5.1


Word boundary errors possible

While doing the single-syllable exercise, I've run into word boundary errors, such as:

Kass set → cassette
pup pet → puppet

It would be nice if the lesson was aware of these entries and never suggested "pup pet" or "Kass set". Maybe more generally, all random lessons could be checked for word boundary errors.
I'd be willing to work through a solution and make a PR if you are open to it.

Yeah, and car rot. I have a list of them somewhere. I wasn't sure how to handle that: would we need the whole Plover dictionary to find them? I was reluctant to slow the loading more by adding another even bigger data file, but I suppose most people use it enough that it's just in cache all the time.  And if Twitter can ask you to load 9MB of crap to read a 140-character message, then I suppose it's OK to ask you to load three or four to do something useful.
But yeah, go for it.

I was thinking that maybe we brute force and look up all the combinations
in main.json and build a small word boundaries dictionary in order to not
hold the whole dictionary.
On Wed, Oct 4, 2017 at 8:17 AM, Joshua Grams<EMAIL_ADDRESS>wrote:

Yeah, and car rot. I have a list of them somewhere. I wasn't sure how to
handle that: would we need the whole Plover dictionary to find them? I was
reluctant to slow the loading more by adding another even bigger data file,
but I suppose most people use it enough that it's just in cache all the
time. And if Twitter can ask you to load 9MB of crap to read a
140-character message, then I suppose it's OK to ask you to load three or
four to do something useful.
But yeah, go for it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JoshuaGrams/steno-jig/issues/24#issuecomment-334136648,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFkgSsDywUpMblwg9w9bQuz8LzVOcl-wks5so3dXgaJpZM4PskzD
.

Ah, that could work.


epub - unreadable on sumatra/aquile

problem not yet solved. still books cannot be opened with softwares like sumatra/aquile

For me it is working. Wasted a lot time to get Windows running. I can not help you if you give me not more information.

update your reader, your sumatra is outdated.
Check that ebso-dl is on latest version, use:
ebsco-dl --version

i have:

downlaoded and installed again sumatra (3.5.2 64)
downloaded and installed again aquile (1.1.37)
downloaded the new code few second ago
recreated the epub "tire de letra"
and these are the outcomes:

i use windows 10.
which other info you require?

Converting to pdf works and also I now tested aquile:

Tell me the output of: ebsco-dl --version

0.3.6

0.3.6

Should be fixed now. I hope you love it.
Next time use linux!


Sigal alters the shell removing shell echo if ctrl-c to cancel a build

After doing a ctrl-c to cancel a build, my shell no longer shows text I type, something was altered and hasn't been put back how it was.

Hmm, not sure how this can be prevented ... What is altered ? Colors ?

In bash you can take note of a bunch of detail (like what dir you are in with pwd) and then set the user back to how they started at the end of the script or if the script is interrupted half-way through...
I'll take a look and see if there's an easy solution to it and I might also see if I can upload an ascii animation to show what I'm seeing.
Also, I'm using OSX so might be a point of difference...

The current working directory should not be altered. Any details on what is altered and how to reproduce would be useful.

Hi Simon, my example was bad as it suggested that this issue has something to do with current dir which it doesn't. I was only pointing out that details about the current environment can be captured/stored and ensured they are set the same when the script exits for any reason.
In this case, it's purely the echo being removed from the shell prompt, and I'll try to replicate it tonight if I can and let you know.

@geekpete - Do you have more details on this and what can be done ?

I haven't made the time to test it again but I hope to this week.
Keen on getting some static gallery goodness happening for my largish (130gb) photo collection.
So will try to test it again as soon as I can.
Thanks for following up.

Ok, thanks !

Sorry, still need to test this, will aim to do so.

i have found some issue like this in my tests. it was when i interrupted (control-c) the build during a video rendering.
[1001]anarcat@angela:sigal$ sigal build albums/
Sorting albums  [####################################]  100%
Sorting media  [####################################]  100%
Collecting files  [####################################]  100%
Processing files  [######------------------------------]  1/6  0d 00:13:24
Interrupted
[1002]anarcat@angela:sigal1$ [1002]anarcat@angela:sigal1$ [1002]anarcat@angela:sigal1$

the last line here is me typing enter three times. normally, a newline is echo'd on the terminal, which makes each prompt show up on it's own line, but in the above case, nothing shows up at all when i type.
the workaround is to type stty sane and enter (which won't show up in the terminal, but will still work).
it's unclear to me what happens here - presumably something is messing with the terminal's file descriptors somewhere? maybe in the way ffmpeg is called?

I doubt about the ffmpeg call since it is done in a subprocess ; and sigal does not do crazy things with the shell since progress bars and color prints are delegated to click, so I have no idea here (even the "Interrupted" line is printed correctly though it's one of the latest step in this case).

so maybe some weird click / subprocess interaction?
the fact that Interrupted shows up there is irrelevant: things processes write to the terminal show up normally, it's the user input that is not echo'd back.

so maybe some weird click / subprocess interaction?

Could be, I did not manage to reproduce directly with click, it needs more investigation.

Hello,
Here (Raspberry Pi 3 Model B, Raspbian 9, sigal 1.4.0) :
sigal build -fd -n 1 --> Good
sigal build -f --> Bug = Typing on the command line, nothing appears in the prompt
sigal build -f -n 1 --> Good
sigal build -f -n 2 --> Bug
sigal build -fd -n 2 --> Bug
Nothing interesting in debug.

@Cascador - thanks, so it seems related to the use of multiprocessing, but it happens also without the progress bars and without interrupting the process ?

Alrighty so multiprocessing where the original shell isn't being set back to how it started due to the nondeterministic nature of ordering of processing?

This issues bothers me every now and then (mostly while dealing with errors in self-written plugins). For those also suffering: You get your echo back by running stty echo in the affected terminal.

FWIW I experience this problem quite reliably whenever sigal emits any error or warning (including contains sub-albums) during processing. My local disk is an nfs mount over a relatively slow LAN (~3ms) so maybe that's helping with reproducability?


Latest version broke the installer for the UDM Pro

root@UDM-Pro:~# sh -c 'sh -c "$(curl -sSL https://api.controld.com/dl)" -s REDACTED forced'
---------------------
|    System Info    |
---------------------
OS Type      : linux
OS Vendor    : ubios
OS Version   : <IP_ADDRESS>68
Router Model : UniFi Dream Machine PRO
Arch         : aarch64
CPU          : Cortex-A57
Free RAM     : 540 MB / 3946 MB
---------------------
|  Install Details  |
---------------------
Resolver ID  : REDACTED
Binary URL   : https://dl.controld.com/linux-arm64/ctrld
Install Path : /data/controld
---------------------
 - Starting download
 - Making binary executable
 - Launching /data/controld/ctrld
---------------------
Apr 20 14:49:22.000 NTC Reading config: /etc/controld/ctrld.toml
Apr 20 14:49:22.657 NTC Starting service
Apr 20 14:49:23.964 NTC Generating controld config: /etc/controld/ctrld.toml
Apr 20 14:50:11.056 ??? ================================
Apr 20 14:50:11.057 ??? An error occurred while performing test query: read udp <IP_ADDRESS>:38855-><IP_ADDRESS>:5354: i/o timeout
Apr 20 14:50:11.057 ??? ================================
Apr 20 14:50:22.152 NTC Service uninstalled
root@UDM-Pro:~#

Hi, did the previous version work for you on the same device? Please provide output from this command:
 /data/controld/ctrld start --cd RESOLVER_ID_HERE -vv

Hi,
Yes, I actually monitor the Github page, to keep my versions up to date.
I've installed many updates before, all of them flawlessly.
I did found a workaround for install issue:
I started noticing that during every install attempt, that there was traffic going to controlD for a very brief window of time. So just before the 'test query' can trigger an uninstall event, I CTRL-C the installer script.
By doing so, the uninstall doesn't happen and the service keeps on running.
Here your requested test: (THAT AGAIN BROKE MY CONFIG, AND HAD TO APPLY MY WORKAROUND AGAIN)
Last login: Sat Apr 20 14:49:02 2024 from <IP_ADDRESS>
@.***:~# /data/controld/ctrld start --cd REDACTED-vv
Apr 20 19:19:04.000 NTC Reading config: /etc/controld/ctrld.toml
Apr 20 19:19:04.000 INF loading config file from: /etc/controld/ctrld.toml
Apr 20 19:19:04.523 DBG cleaning up router before installing
Apr 20 19:19:04.524 NTC Starting service
Apr 20 19:19:11.668 NTC Generating controld config: /etc/controld/ctrld.toml
Apr 20 19:19:11.699 DBG waiting for ctrld listener to be ready
Apr 20 19:19:17.579 DBG ctrld listener is ready
Apr 20 19:19:17.579 DBG performing self-check
Apr 20 19:19:17.581 DBG internal self-check against "ctrld.test" succeeded
Apr 20 19:19:26.724 DBG self-check: [v1] backoff: 511 msec
Apr 20 19:19:28.237 DBG self-check: [v1] backoff: 1069 msec
Apr 20 19:19:30.308 DBG self-check: [v1] backoff: 1149 msec
Apr 20 19:19:32.459 DBG self-check: [v1] backoff: 1157 msec
Apr 20 19:19:34.618 DBG self-check: [v1] backoff: 1303 msec
Apr 20 19:19:36.923 DBG self-check: [v1] backoff: 2445 msec
Apr 20 19:19:40.370 DBG self-check: [v1] backoff: 1234 msec
Apr 20 19:19:42.606 DBG self-check: [v1] backoff: 1818 msec
Apr 20 19:19:45.427 DBG self-check: [v1] backoff: 1581 msec
Apr 20 19:19:48.010 DBG self-check: [v1] backoff: 2357 msec
Apr 20 19:19:51.369 DBG self-check: [v1] backoff: 2514 msec
Apr 20 19:19:54.886 DBG self-check: [v1] backoff: 4088 msec
Apr 20 19:19:58.978 DBG self-check against "verify.controld.com" failed
Apr 20 19:19:58.978 DBG sending doh request to: <IP_ADDRESS>:443
Apr 20 19:19:59.086 DBG ================================
Apr 20 19:19:59.087 DBG listener address : <IP_ADDRESS>:5354
Apr 20 19:19:59.087 DBG last error : read udp <IP_ADDRESS>:47611-><IP_ADDRESS>:5354: i/o timeout
Apr 20 19:19:59.087 ??? ================================
Apr 20 19:19:59.088 ??? An error occurred while performing test query: read udp <IP_ADDRESS>:47611-><IP_ADDRESS>:5354: i/o timeout
Apr 20 19:19:59.088 ??? ================================
Apr 20 19:20:05.016 DBG Restoring DNS for interface iface=lo
Apr 20 19:20:10.092 DBG dns: [rc=unknown ret=direct]
Apr 20 19:20:10.092 DBG dns: using "direct" mode
Apr 20 19:20:10.092 DBG Restoring DNS successfully iface=lo
Apr 20 19:20:10.092 DBG Router cleanup
Apr 20 19:20:10.092 NTC Service uninstalled
MY WORKAROUND:
@.:~# /data/controld/ctrld start --cd REDACTED-vv
Apr 20 19:19:04.000 NTC Reading config: /etc/controld/ctrld.toml
Apr 20 19:19:04.000 INF loading config file from: /etc/controld/ctrld.toml
Apr 20 19:19:04.523 DBG cleaning up router before installing
Apr 20 19:19:04.524 NTC Starting service
Apr 20 19:19:11.668 NTC Generating controld config: /etc/controld/ctrld.toml
Apr 20 19:19:11.699 DBG waiting for ctrld listener to be ready
Apr 20 19:19:17.579 DBG ctrld listener is ready
Apr 20 19:19:17.579 DBG performing self-check
Apr 20 19:19:17.581 DBG internal self-check against "ctrld.test" succeeded
Apr 20 19:19:26.724 DBG self-check: [v1] backoff: 511 msec
Apr 20 19:19:28.237 DBG self-check: [v1] backoff: 1069 msec
Apr 20 19:19:30.308 DBG self-check: [v1] backoff: 1149 msec
Apr 20 19:19:32.459 DBG self-check: [v1] backoff: 1157 msec
Apr 20 19:19:34.618 DBG self-check: [v1] backoff: 1303 msec
Apr 20 19:19:36.923 DBG self-check: [v1] backoff: 2445 msec
Apr 20 19:19:40.370 DBG self-check: [v1] backoff: 1234 msec
Apr 20 19:19:42.606 DBG self-check: [v1] backoff: 1818 msec
Apr 20 19:19:45.427 DBG self-check: [v1] backoff: 1581 msec
Apr 20 19:19:48.010 DBG self-check: [v1] backoff: 2357 msec
Apr 20 19:19:51.369 DBG self-check: [v1] backoff: 2514 msec
Apr 20 19:19:54.886 DBG self-check: [v1] backoff: 4088 msec
Apr 20 19:19:58.978 DBG self-check against "verify.controld.com" failed
Apr 20 19:19:58.978 DBG sending doh request to: <IP_ADDRESS>:443
Apr 20 19:19:59.086 DBG ================================
Apr 20 19:19:59.087 DBG listener address : <IP_ADDRESS>:5354
Apr 20 19:19:59.087 DBG last error : read udp <IP_ADDRESS>:47611-><IP_ADDRESS>:5354: i/o timeout
Apr 20 19:19:59.087 ??? ================================
Apr 20 19:19:59.088 ??? An error occurred while performing test query: read udp <IP_ADDRESS>:47611-><IP_ADDRESS>:5354: i/o timeout
Apr 20 19:19:59.088 ??? ================================
Apr 20 19:20:05.016 DBG Restoring DNS for interface iface=lo
Apr 20 19:20:10.092 DBG dns: [rc=unknown ret=direct]
Apr 20 19:20:10.092 DBG dns: using "direct" mode
Apr 20 19:20:10.092 DBG Restoring DNS successfully iface=lo
Apr 20 19:20:10.092 DBG Router cleanup
Apr 20 19:20:10.092 NTC Service uninstalled
@.:~# ^C
@.***:~# /data/controld/ctrld start --cd REDACTED -vv
Apr 20 19:21:15.000 NTC Reading config: /etc/controld/ctrld.toml
Apr 20 19:21:15.000 INF loading config file from: /etc/controld/ctrld.toml
Apr 20 19:21:15.463 DBG cleaning up router before installing
Apr 20 19:21:15.463 NTC Starting service
Apr 20 19:21:16.776 NTC Generating controld config: /etc/controld/ctrld.toml
Apr 20 19:21:16.811 DBG waiting for ctrld listener to be ready
Apr 20 19:21:22.579 DBG ctrld listener is ready
Apr 20 19:21:22.579 DBG performing self-check
Apr 20 19:21:22.582 DBG internal self-check against "ctrld.test" succeeded
Apr 20 19:21:30.309 DBG self-check: [v1] backoff: 562 msec
Apr 20 19:21:31.873 DBG self-check: [v1] backoff: 539 msec
Apr 20 19:21:33.414 DBG self-check: [v1] backoff: 846 msec
Apr 20 19:21:35.261 DBG self-check: [v1] backoff: 608 msec
Apr 20 19:21:36.870 DBG self-check: [v1] backoff: 1270 msec
^C
On Saturday, April 20th, 2024 at 19:13, Yegor S @.***> wrote:

Hi, did the previous version work for you on the same device? Please provide output from this command:
/data/controld/ctrld start --cd RESOLVER_ID_HERE -vv
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Are you able to resolve queries after cancelling the installer script?
From your output, sounds like the second test query is blocked somehow.

As you can see, on ControlD.com, everything is fine. IPV4 & IPV6 dns traffic is working.

@Gorson84 Thanks for confirming.
To be clear, are you able to run the same ctrld start ... command successfully using v1.3.5?

@Gorson84 Thanks for confirming.
To be clear, are you able to run the same ctrld start ... command successfully using v1.3.5?

Yes, it's only the self-test as part of the installer/upgrade process that is causing a failure, leading to an automatic de-install.

Having the ability to add an extra parameter like -NT (No Tests) during the installation, would be helpful.

@Gorson84 Do your UDM Pro have default settings?
What features it is using?

Pretty basic configuration. Only running the network module.
Nothing custom is running on it. It's running release software.
On Tuesday, April 23rd, 2024 at 18:42, Cuong Manh Le @.***> wrote:

@.***(https://github.com/Gorson84) Do your UDM Pro have default settings?
What features it is using?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

We're unable to reproduce the issue on an identical UDM Pro, running the exact same firmware version.
Something about your device appears to be different. Are you able to do a factory reset and try it using a stock install, as we're running?

I'm getting the same on an OpenWRT router (snapshot version), FYI.

@NoSync Please provide debugging data as requested earlier in the thread.

@NoSync Please provide debugging data as requested earlier in the thread and details about your environment, especially anything that differs from stock install.

Environment: OpenWRT snapshot version (any snapshot behaves the same) on a GL-MT6000 router, 6.1.86 kernel
Issue: same as OP, appears consistently when running at boot, regardless of ctrld being configured as a service or started from rc.local, and 50% of times afterwards. The install script behaves exactly the same, as I would expect.
Debug info (the first attempt failed, the second worked):
root@flint2:~# ctrld start --cd REDACTED -vv
Apr 29 10:12:18.000 NTC Reading config: /etc/controld/ctrld.toml
Apr 29 10:12:18.000 INF loading config file from: /etc/controld/ctrld.toml
Apr 29 10:12:18.881 DBG cleaning up router before installing
Apr 29 10:12:25.574 NTC Starting service
Apr 29 10:12:25.658 NTC Generating controld config: /etc/controld/ctrld.toml
Apr 29 10:12:25.735 DBG waiting for ctrld listener to be ready
Apr 29 10:12:25.773 DBG ctrld listener is ready
Apr 29 10:12:25.774 DBG performing self-check
Apr 29 10:12:25.776 ??? ================================
Apr 29 10:12:25.776 ??? An error occurred while performing test query: read udp <IP_ADDRESS>:41609-><IP_ADDRESS>:5354: read: connection refused
Apr 29 10:12:25.776 ??? ================================
Apr 29 10:12:25.853 DBG Restoring DNS for interface iface=eth1
Apr 29 10:12:26.046 DBG dns: [rc=unknown ret=direct]
Apr 29 10:12:26.047 DBG dns: using "direct" mode
Apr 29 10:12:26.105 DBG Restoring DNS successfully iface=eth1
Apr 29 10:12:26.105 DBG Router cleanup
Apr 29 10:12:26.105 NTC Service uninstalled
root@flint2:~# ctrld start --cd REDACTED -vv
Apr 29 10:14:14.000 NTC Reading config: /etc/controld/ctrld.toml
Apr 29 10:14:14.000 INF loading config file from: /etc/controld/ctrld.toml
Apr 29 10:14:14.259 DBG cleaning up router before installing
Apr 29 10:14:14.260 NTC Starting service
Apr 29 10:14:14.309 NTC Generating controld config: /etc/controld/ctrld.toml
Apr 29 10:14:14.389 DBG waiting for ctrld listener to be ready
Apr 29 10:14:26.912 DBG ctrld listener is ready
Apr 29 10:14:26.912 DBG performing self-check
Apr 29 10:14:26.915 DBG internal self-check against "ctrld.test" succeeded
Apr 29 10:14:26.948 DBG external self-check against "verify.controld.com" succeeded
Apr 29 10:14:26.948 NTC Service started
Apr 29 10:14:26.951 DBG setting DNS for interface iface=eth1
Apr 29 10:14:26.953 DBG dns: [rc=unknown ret=direct]
Apr 29 10:14:26.953 DBG dns: using "direct" mode
Apr 29 10:14:26.954 DBG setting DNS successfully iface=eth1

@NoSync Could you please run ctrld start with --log=/path/to/your/log_file, then provide us the log file via email when problem happens: cuong(at)controld.com
Your problem could be different, it's connection refused instead of io/timeout.

You're right, I had overlooked that. I sent you the logs.

@NoSync Could you please run ctrld start with --log=/path/to/your/log_file, then provide us the log file via email when problem happens: cuong(at)controld.com
Your problem could be different, it's connection refused instead of io/timeout.

You're right, I had overlooked that. I sent you the logs.

Thanks, I got the log and looking at it. Sounds like you have another instance of ctrld running on port 5354 already? Your log indicates that the instance of ctrld that you are starting is running on different port:
{"level":"info","time":"2024-04-29T15:53:18Z.357","message":"starting DNS server on listener.0: <IP_ADDRESS>:24544"}

@NoSync Could you please run ctrld start with --log=/path/to/your/log_file, then provide us the log file via email when problem happens: cuong(at)controld.com

Your problem could be different, it's connection refused instead of io/timeout.

You're right, I had overlooked that. I sent you the logs.

Thanks, I got the log and looking at it. Sounds like you have another instance of ctrld running on port 5354 already? Your log indicates that the instance of ctrld that you are starting is running on different port:

{"level":"info","time":"2024-04-29T15:53:18Z.357","message":"starting DNS server on listener.0: <IP_ADDRESS>:24544"}

I hadn't noticed that when generating the log, but I had a zombie ctrld instance running that I had to manually kill some time later. The output error is the same when ctrld starts on 5354 though.

@Gorson84 Can you provide output of netstat -tupln before starting ctrld, and after it starts with your control+c hack?
Also, do the same: https://github.com/Control-D-Inc/ctrld/issues/147#issuecomment-2083089566

Try the new dev version, should address the problem. Run: ctrld upgrade dev

Try the new dev version, should address the problem. Run: ctrld upgrade dev

In my case it keeps on working 50% of the times:
root@flint2:~# ctrld --version
ctrld version dev-7ec7072
root@flint2:~# ctrld start --cd REDACTED -vv
May 11 09:56:35.000 NTC Reading config: /etc/controld/ctrld.toml
May 11 09:56:35.000 INF loading config file from: /etc/controld/ctrld.toml
May 11 09:56:35.988 DBG cleaning up router before installing
May 11 09:56:35.988 NTC Starting service
May 11 09:56:36.072 NTC Generating controld config: /etc/controld/ctrld.toml
May 11 09:56:36.160 DBG waiting for ctrld listener to be ready
May 11 09:56:43.042 DBG ctrld listener is ready
May 11 09:56:43.042 DBG performing self-check
May 11 09:56:43.044 DBG internal self-check against "ctrld.test" succeeded
May 11 09:56:43.075 DBG external self-check against "verify.controld.com" succeeded
May 11 09:56:43.075 NTC Service started
May 11 09:56:43.077 DBG setting DNS for interface iface=eth1
May 11 09:56:43.079 DBG dns: [rc=unknown ret=direct]
May 11 09:56:43.079 DBG dns: using "direct" mode
May 11 09:56:43.081 DBG setting DNS successfully iface=eth1
root@flint2:~# ctrld stop
May 11 09:56:47.913 NTC Service stopped
root@flint2:~# ctrld start --cd REDACTED -vv
May 11 09:56:51.000 NTC Reading config: /etc/controld/ctrld.toml
May 11 09:56:51.000 INF loading config file from: /etc/controld/ctrld.toml
May 11 09:56:51.038 DBG cleaning up router before installing
May 11 09:56:51.038 NTC Starting service
May 11 09:56:51.122 NTC Generating controld config: /etc/controld/ctrld.toml
May 11 09:56:51.204 DBG waiting for ctrld listener to be ready
May 11 09:56:51.246 DBG ctrld listener is ready
May 11 09:56:51.246 DBG performing self-check
May 11 09:56:51.247 ??? ================================
May 11 09:56:51.247 ??? An error occurred while performing test query: read udp <IP_ADDRESS>:38174-><IP_ADDRESS>:5354: read: connection refused
May 11 09:56:51.247 ??? ================================
May 11 09:56:51.324 DBG Restoring DNS for interface iface=eth1
May 11 09:56:51.643 DBG dns: [rc=unknown ret=direct]
May 11 09:56:51.643 DBG dns: using "direct" mode
May 11 09:56:51.648 DBG trample: resolv.conf changed from what we expected. did some other program interfere? current contents: "# resolv.conf(5) file generated by ctrld\n# DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN\n\nnameserver <IP_ADDRESS>\n"
May 11 09:56:51.683 DBG Restoring DNS successfully iface=eth1
May 11 09:56:51.683 DBG Router cleanup
May 11 09:56:51.683 NTC Service uninstalled

@NoSync Can you try running the start command with this flag: --skip_self_checks, can you reproduce the issue? Do it several times.
Thanks

@yegors I just ran those tests (7/8 times for each case) and ctrld consistently starts with no issues, both with skip_self_checks and port 5354, and without skip_self_checks and port 53.

@NoSync Did you run the check above with dev version or v1.3.6?

@NoSync Did you run the check above with dev version or v1.3.6?

@cuonglm dev.


[6.0][region-isolation] Tweaking diagnostics a little bit to match terminology we are using else where.

Explanation: This PR contains small changes to the actual diagnostic text that we emit for region isolation. I am making the change to match evolved ways of talking about these errors.

rdar://127580781

Original PRs:

https://github.com/apple/swift/pull/73446
https://github.com/apple/swift/pull/73459

Risk: Low. Just tweaking diagnostics.
Testing: Updated /all/ of the region isolation tests to reflect the diagnostic change.
Reviewer: N/A

@swift-ci test

@swift-ci test windows platform

This successfully passed all tests, but I by mistake included an unnecessary commit.

@swift-ci test

I was asked to tweak the diagnostics a little bit further.

@swift-ci test

@swift-ci test linux platform

@swift-ci test linux platform

@swift-ci test


Propose a standard color for LineView

After going through and open issue I noticed that the colors for the LineView are hardcoded and don't have an alternative if you are using dark mode. This can be an issue if you have a specific theme for the dark mode in your app other than the regular Color.black.
This PR addresses the issue and changes the LineView to use the style's foregroundColor,textColor, and legendTextColor attributes. If you think there is a more efficient way of allowing colors, please let me know and ill adjust accordingly. Thank you for your time.

@AppPear can i get a review?

Hi, thanks for the PR, sadly I can't merge it as it would remove the darkMode feature from the library but I created a new feature which allows you to specify a darkMode style if you are creating a custom style so please use that


Enable user to supply region and credentials provider

At the moment we hard-code the credentials provider and instance region
https://github.com/jonhoo/tsunami/blob/379acb77aa8b71a4c92d91342ce76d8a9572e26e/src/lib.rs#L249-L250
While that makes it easy to get up and running, some users may need to authenticate through more elaborate means (e.g., through sts::AssumeRole) as discussed here. Similarly, not all users will want to use the US-EAST-1 region for obvious reasons. We should provide a way for the user to specify these options in the builder, perhaps also including the connector to use.

cc @Cosaquee

Once https://github.com/rusoto/rusoto/issues/957 is implemented in Rusoto, it should be easier to hand-wave away any hardcoding of regions by using a default region lookup like other AWS SDKs provide. 👍


feat: Add email validation

Added optional suffix fields for new administrations created by the new administration form for adminCode and partners, with the relevant validation.
Should close #908

Should be ready for testing, the build fails because of lint even though I just ran npm install before prettify  to be sure I had the right version


"You found a gun" notification but then gun is lost

This happened to me this morning.

I haven't been able to recreate but it looks like we are somehow interpreting the streaks as ending on the day that they started.

id
created_at
updated_at
startedAt
endedAt
userId
type

23353
2024-10-14 23:34:20.979
2024-10-15 05:15:09.389
2024-10-14
2024-10-14
1
GUN

23354
2024-10-14 23:34:22.745
2024-10-15 05:15:09.41
2024-10-14
2024-10-14
2
HORSE

23482
2024-10-17 19:36:48.598
2024-10-18 05:15:11.978
2024-10-17
2024-10-17
3
GUN

23481
2024-10-17 19:36:48.432
2024-10-18 05:15:12.006
2024-10-17
2024-10-17
4
HORSE


fix(nextjs-plugin): properly handles css loader

Closes #1101.
Closes #1131.
Changes:

Always choose css-loader/MiniCssExtractPlugin.loader instead of getClientStyle from Next.js (which will opt-in next-style-loader during development mode in the pages directory):

next-style-loader will mess up CSS order which is crucial for vanilla-extract
Next.js App Router always uses css-loader and does not use next-style-loader at all anyway.

Add webpack to devDependencies

To add the type definition for the loaders array.

Update peerDependencies.next to >= 12.1.7

Next.js 12.1.7 is the first version that has MiniCssExtractPlugin's HMR fixed.

Change outputCss logic:

Always output CSS when there is the app directory since Next.js App Router needs to collect CSS from React Server Components.
When there is only a pages directory, output CSS only on the client build.
Uses Next.js' internal findPagesDir method to determine if the app directory exists.

Make sure MiniCssExtractPlugin exists in the webpack config.

Thanks for the PR @SukkaW
The changes you're making are quite extensive, I don't feel knowledgeable enough about Next to validate it.
@SuttonJack @shuding Would really appreciate your thoughts on this?

Apparently, vanilla-extract is no longer actively maintained anymore.
I have just disabled Allow edits by maintainers to prevent any maintainer trying to modify my branch before merging.

@mattcompiles Just a friendly ping. Would you like to review my PR?

@mattcompiles
I have run the actions in my own repo, and they are all green now.

@SukkaW unfortunately this did not fix #1131

I noticed you talked about version 2.2.0 but the latest version is 2.2.1, which was released an hour ago. Also there is an update to the @vanilla-extract/recipes package. Can you confirm it still exists after updating both packages?


chore: added links to ISSUE_TEMPLATE

Description
This PR fixes #80
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@thisiskaransgit Can you review the pr.

Hey, @thisiskaransgit I have added updated the ISSUES_TEMPLATE.