Adaptive tab

It will be great to have the chart showing points (8760) instead of bars, like the one below:

Then it will be nice for the user to select the occupancy hours and set the air velocity in the room. Finally, it will be super great to have a summary table with the monthly percentage of time above and below the comfort limits (both 80% and 90%).
Thanks in advance!

Hi Jose, thanks for the feedback.
What would be the use case/practical application?
Currently there are a few assumptions that we had to bake in the chart:
For a “generic” indoor environment we assume that:

MRT always equals DBT
Air speed is constant at 0.5 m/s
If the average DBT for any day is outside of the applicability limits for the adaptive thermal comfort (lower than 10°C or higher than 40°C), the values are capped at 10° or 40°C respectively. This is done to be able to always display a comfort range, rather than an error message.

we could expose the air speed as a parameter within the range of acceptability.
Probably this should be a feature for one of the advanced tabs.
I assume you are familiar with the CBE Comfort tool
https://comfort.cbe.berkeley.edu/

Hi @giobetti I think there is an issue in the adaptive code. Currently we are using the following if statement:
        if dbt_day_ave[i] >= 40:
            dbt_day_ave[i] = 40
        elif dbt_day_ave[i] <= 10:
            dbt_day_ave[i] = 10

which basically sets the daily outdoor temperature to 40 or 10°C if the original values exceeds 40 or it is lower than 10°C, respectively. This I believe it is incorrect. We should not change the daily average temperature values. I believe this if was meant to check the value of running mean outdoor temperature. It should read as follows:
        rmt = running_mean_outdoor_temperature(last_days, alpha=0.9)
        if rmt >= 40:
            rmt = 40
        elif rmt <= 10:
            rmt = 10
        r = adaptive_ashrae(
            tdb=dbt_day_ave[i], tr=dbt_day_ave[i], t_running_mean=rmt, v=0.5
        )

Hi @giobetti let me add a bit more context to Jose's comment. he is a colleague of mine and he verbally explained to me his suggestions.

He was suggesting to show each point so visually you can see the data distribution. Currently, we are showing a box which depicts the max an min value but we do not know for how long each day the temperature was close to the max value. Using a scatter chart allows the user to visualize all the 24 readings.
Occupancy hours are also useful since most of the buildings are not utilized 24/7. It would make sense to allow the user to see for how many hours the building is within the adaptive thermal comfort region between XX am an YY pm.
Allowing the user to control the airspeed would also be beneficial. Higher value of airspeed move the adaptive comfort region up. This would allow the user to check if natural ventilation + air movement alone would suffice during warm days.
The summary table is very useful too. At this stage we are only showing the data but for the user it is impossible to tell how many points are above, within, and below the adaptive thermal comfort region. The summary table would provide all those info.

Why don't we include all the above, maybe leaving out point 1, in the Natural Ventilation tab?

Hi Federico,
Thanks for the explanation.
Reading your comments was as well thinking that the right place seems to be the natural ventilation tab.
Would this be 2 new graphs in there?
This might be confusing because:
How can the user put the two sets of information in relation to one another (I.e the current graphs and the suggested ones?)
I am worried this might cause confusion. Which graph should they follow and when?
Maybe there’s  a way to unify both graphs?
One way would be to extend the functionalities of the current one where the upper boundary for natural ventilation is not set as a static value but (optionally?) tracks the adaptive comfort zone with (optionally?) a maximum indoor wind speed allowed.
I think we would need to mock this up and see how it might work, but anything that suggests you can do more natural ventilation for longer and is based on sound principles  is worth considering.
Sent from my iPhone
On 6. Jun 2022, at 11:11, Federico Tartarini @.***> wrote:

Hi @giobettihttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgiobetti&data=05|01||eb3fd75d49994895c41608da479c802f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637901034742234283|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=xzoD43vc6c4M8SxP7vsUkZzerYNulyzS1fyl92Edi00%3D&reserved=0 let me add a bit more context to Jose's comment. he is a colleague of mine and he verbally explained to me his suggestions.

He was suggesting to show each point so visually you can see the data distribution. Currently, we are showing a box which depicts the max an min value but we do not know for how long each day the temperature was close to the max value. Using a scatter chart allows the user to visualize all the 24 readings.
Occupancy hours are also useful since most of the buildings are not utilized 24/7. It would make sense to allow the user to see for how many hours the building is within the adaptive thermal comfort region between XX am an YY pm.
Allowing the user to control the airspeed would also be beneficial. Higher value of airspeed move the adaptive comfort region up. This would allow the user to check if natural ventilation + air movement alone would suffice during warm days.
The summary table is very useful too. At this stage we are only showing the data but for the user it is impossible to tell how many points are above, within, and below the adaptive thermal comfort region. The summary table would provide all those info.

Why don't we include all the above, maybe leaving out point 1, in the Natural Ventilation tab?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FCenterForTheBuiltEnvironment%2Fclima%2Fissues%2F135%23issuecomment-1147232682&data=05|01||eb3fd75d49994895c41608da479c802f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637901034742234283|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=7HRvcZRCSZqqiDN86fsk8QdreqUmXo4MNwcS5vBwXKQ%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIWZJAFYUTV32MDC7UBDVGLVNW6C5ANCNFSM5WHC5O2A&data=05|01||eb3fd75d49994895c41608da479c802f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637901034742234283|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=s%2Bx%2BBvMlsbsD9EgNJ7uy7Zzp3owKmk8DOlV%2B1Ok%2BoZY%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

Yes, we could add one or two graphs to the natural ventilation tab. One may suffice since we can show the data and the percentages in the same figure. The current chart is very beautiful but in its current form it is not practical to extract information from it, it could be changed into the following

In which we depict the percentage of time the temperature is between the 80% and 90% adaptive comfort region. Alternatively, the percentages can be presented in a table below the chart.

One way would be to extend the functionalities of the current one where the upper boundary for natural ventilation is not set as a static value but (optionally?) tracks the adaptive comfort zone with (optionally?) a maximum indoor wind speed allowed.

This is what I had in mind. The user specifies a Max airspeed then the adaptive region can stretch up if the outdoor temperature is hot, but the bottom range does not change as in the CBE comfort tool. The table below would show the new percentage of time during which the outdoor temperature is within the comfort region.

Hi Federico, lots of good comments here I'll try to think how this might look like once we put all together.
In the meanwhile I was l looking at the temperature graph and noticed that the comfort zone disappears now?

I think this is because of the change to the MRT statement.
Is this the desired behavior?

I think this is because of the change to the MRT statement. Is this the desired behavior?

No technically I did not want that to happen, but this is how the graph should look like since before the results were incorrect. Let me know if you would like me to revert it back or keep as it is.

I agree, the user should be able to:

see the percentage of time the outdoor is within the 90% of the adaptive comfort range.
specify the two offsets from the values calculated with the adaptive model to compensate for internal gains.
specify different design air speeds. This would allow to further push up the upper boundary by specifying a higher indoor air speed for it, while still leaving the lower bound based on an air speed of maybe 0,1m/s.
have access to the current controls to specify times, months, and check for condensation risk.

UI design is going to be challenging!

Agree but I am sure we can find an elegant solution.

Can we provide some guidance on the right temperature offset values and air speeds? Maybe there is a separate parametric thermal + natural ventilation study that can be set up to simulate typical office/ learning/ housing environments to figure out what realistic values for both temperature offsets and wind speeds are. That would be a very nice paper and might be a useful contribution for the design of naturally ventilated spaces based on the ashrae adaptive comfort model. What do you think?

This is a good idea, we should also consider the relative humidity outside as we did in this paper that I have published before. At the end of the day we want to use natural ventilation only when the entropy of the outside air is lower than the one indoors.

This is probably getting to complicated to be solved in a chat and we might have to arrange a call. I am not sure everything I’ve written makes sense! 😉

I think your message makes full sense to me and I hope I did not miss any key points. Let me know if I did. But I am more than happy to have a call with you whenever you are free.

I think we should always have a comfort zone displayed (even if technically it is outside of the standards)
On 8. Jun 2022, at 03:00, Federico Tartarini @.***> wrote:

I think this is because of the change to the MRT statement. Is this the desired behavior?
No technically I did not want that to happen, but this is how the graph should look like since before the results were incorrect. Let me know if you would like me to revert it back or keep as it is.
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FCenterForTheBuiltEnvironment%2Fclima%2Fissues%2F135%23issuecomment-1149329759&data=05|01||28371b76d79f44ab4e4d08da48ea3ba1|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637902468101576499|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DLOFsKyUWyujZeugLhjg45E2dCij0E2Uk2F1NC%2FCzuM%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIWZJABWSVYJB37P4P3OPNLVN7WBRANCNFSM5WHC5O2A&data=05|01||28371b76d79f44ab4e4d08da48ea3ba1|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637902468101576499|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=KW49OpXLHkvE9DIbp%2Bt9YqjBlUb66%2BEmexSXD5i7EME%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

Thanks Federico,
I think you are on top of this! I'll go through your paper and see if there is a way to integrate the two methods.
What is the best way to move this forward? are you going to implement the method discussed above in clima?

From: Federico Tartarini @.>
Sent: 08 June 2022 3:11 AM
To: CenterForTheBuiltEnvironment/clima @.>
Cc: giobetti @.>; Mention @.>
Subject: Re: [CenterForTheBuiltEnvironment/clima] Adaptive tab (Issue #135)
I agree, the user should be able to:

see the percentage of time the outdoor is within the 90% of the adaptive comfort range.
specify the two offsets from the values calculated with the adaptive model to compensate for internal gains.
specify different design air speeds. This would allow to further push up the upper boundary by specifying a higher indoor air speed for it, while still leaving the lower bound based on an air speed of maybe 0,1m/s.
have access to the current controls to specify times, months, and check for condensation risk.

UI design is going to be challenging!
Agree but I am sure we can find an elegant solution.
Can we provide some guidance on the right temperature offset values and air speeds? Maybe there is a separate parametric thermal + natural ventilation study that can be set up to simulate typical office/ learning/ housing environments to figure out what realistic values for both temperature offsets and wind speeds are. That would be a very nice paper and might be a useful contribution for the design of naturally ventilated spaces based on the ashrae adaptive comfort model. What do you think?
This is a good idea, we should also consider the relative humidity outside as we did in this paperhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscholar.google.com.au%2Fcitations%3Fview_op%3Dview_citation%26hl%3Den%26user%3DQcamSPwAAAAJ%26citation_for_view%3DQcamSPwAAAAJ%3ATyk-4Ss8FVUC&data=05|01||d2e66b505fd449596e0408da48ebe154|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637902475173901908|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=oDRiQmcKUpPfjjRxrp1349nTt897cciHosA03zlEfxM%3D&reserved=0 that I have published before. At the end of the day we want to use natural ventilation only when the entropy of the outside air is lower than the one indoors.
This is probably getting to complicated to be solved in a chat and we might have to arrange a call. I am not sure everything I’ve written makes sense! 😉
I think your message makes full sense to me and I hope I did not miss any key points. Let me know if I did. But I am more than happy to have a call with you whenever you are free.
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FCenterForTheBuiltEnvironment%2Fclima%2Fissues%2F135%23issuecomment-1149335800&data=05|01||d2e66b505fd449596e0408da48ebe154|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637902475173901908|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=WMEUjn9lOJiUMyX%2FoYuKieFyRxsexD0cYi99AHwBHZ4%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIWZJAHEM5X3VK2Y4MN4IBTVN7XNXANCNFSM5WHC5O2A&data=05|01||d2e66b505fd449596e0408da48ebe154|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637902475173901908|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=tTlWCKxdAAJH08GoqfLE04Tlo4k6J7vzhpkiUS2oaBs%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

I can look into implementing them but I just change job last week and moved to Australia so I am a bit overwhelmed with work at the moment and I will not have much time to dedicate to this at the moment. i hope this is not a problem.


Fix typo

Comand -> Command

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@42B - Thank you for the efforts in simplifying and fixing our code. We'll get back to this and the rest of your PR's after the US Thanksgiving holiday.

@binaryaaron
No problem, happy thanksgiving from Canada!


Regenerate yarn.lock

I wanted to update the yarn.lock file for #452 and #453, but I found I was unable to do so because I'm running Node 10:
$ yarn install
yarn install v1.7.0
(node:31541) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=4 <=9".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Regenerating this lockfile fetches a newer version of the upath dependency, which does not claim to be incompatible with Node 10.

This is not a way to go. You should update just upath to latest, e.g. by running yarn add upath. This will update both package.json and yarn.lock properly


Custom menu fields

Hi,
Would it be possible to extend the main form (title, slug) ?
I added this customField the same way we can do with the menu items and i can see the field in the database but the form doesn't display the new tag.
    const defaultMenuAttrs = strapi.contentType('plugin::menus.menu').attributes;
    strapi.contentType('plugin::menus.menu').attributes = {
      ...defaultMenuAttrs,
      customField: {
        type: 'enumeration',
        enum: [
          'value1', 'value2'
        ]
      }
    }

and in the config file i added these lines :

  menus: {
    config: {
      layouts: {
        menu: [
          {
            input: {
              label: 'Custom field',
              name: 'customField',
              type: 'select',
              required: true,
              options: [
                {
                  label: 'label1',
                  value: 'value1'
                },
                {
                  label: 'label2',
                  value: 'value2'
                }
              ]
            }
          }
        ],
     }
  }

Hey,
Did you ever get an answer for this? I'm having the same issue. I can see any/all fields that I create in my DB fields, but I don't see anything different in the interface.

Nvmd... looks like it works now. I was using a sandbox using TS and just scraped it all and started over using JS. Works now 😊

I don't think we can extend menus with the current configuration, as we can see. here. It imports the list directly from the file, but for the menuItem, it is merged with the configuration that you fill in.
Maybe we should raise a bug for it? I didn't find any reference in the docs saying that it's possible to extend menus; it only says it's possible to extend MenuItem.

Hi @anthonytison @arioston @sebsebseb123 This is not a bug, it's just not implemented yet. A lot of new features will be coming to this plugin before the end of the year if not sooner, including the ability to extend the Menu schema. Currently, you can only extend the MenuItem schema. Sorry for the wait.

Hi @mattmilburn, I also needed the similar functionality to extend the main menu, may I know when is this going to be released. Thanks.


unpack was moved to table.unpack for Lua 5.2

Hrmm... Let me see if I have figured this out some more.
We require Lua 5.3 for the code generation. And we provide that in this super build.
This PR is for testing of the Lua wrapping. During the configuration of SimpleITK this is usually the system Lua. We don't have such a version requirement for the wrapped version of Lua.
I have been testing with Lua 5.2 on Ubuntu 18.04 LTS, which must be compile with Lua compatibility modes enabled. I am uncertain with versions of Lua we are using in the CI.

This PR now include changes to the Wrapping/Java directory that appear to be mistakenly committed.

Oops.  I've fixed it with the latest update.


Issues with FLASHCORE

unable to set or get data using flashcore, undefined

@Pkmmte can you help me a bit?

Hello hello,
Could you please share the entire file’s code?
It'd be better if you joined our Discord Server for Help. Here's the link:
https://discord.gg/ugdwjQvC

Hello hello,
Could you please share the entire file’s code?
It'd be better if you joined our Discord Server for Help. Here's the link:
https://discord.gg/ugdwjQvC

👍 joined discord and sent issue
🗿 #61

was issues with package manager! #61


stats: repeated updates within group

seems that the metadata check for update time doesn't work

[ ] create unit test (+for future regression testing) and verify the issue
[ ] fix the bug if test fails

After adding logs in #967 the following is observed
{"timestamp":"2024-07-02T15:39:10.059639Z","level":"DEBUG","message":"Performing an update","last_updated_at":"2024-07-02T15:36:37.476549Z","update_timestamp":"2024-07-02T15:36:37.476549314Z","target":"stats::data_source::kinds::local_db","span":{"name":"update_recursively"}}
So,
"last_updated_at":"2024-07-02T15:36:37.476549Z"

and
"update_timestamp":"2024-07-02T15:36:37.476549314Z"

🥇

now it makes sense it didn't repro with manually-set timestamp

after the fix the logs indicating update skip are observed and the updates are performed as expected


feat(storage): fill missing columns with null for replicated state_table

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
upstream -> arrangement backfill

The records from upstream will undergo column pruning before reaching arrangement backfill.
We want to replicate these records. They must match local state store's schema, so that they can be merged with committed data.
So we just fill pruned columns with null values to support this. This handles the write path.
The read path has previously been handled in #13622

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

I will add some type-safety for methods which replicated state table can use in a separate PR, to avoid excessive refactor. You may see https://github.com/risingwavelabs/risingwave/issues/10225. It is tracked there.

https://github.com/risingwavelabs/risingwave/blob/4fa341cd36f572ae6eda5e7cc79072fda79e227a/src/stream/src/executor/backfill/arrangement_backfill.rs#L375-L376

So we'll not adopt the "mixed encoding" approach, right? 👀 Is there any discussion about this?

So we'll not adopt the "mixed encoding" approach, right? 👀 Is there any discussion about this?

Nope, after I thought about it, I think filling with NULL is also not too complex, and it's details can be encapsulated by the state table. So it won't make arrangement backfill more complex.
I opt for this approach instead, so we don't have to do runtime checks on the encoding type.


Expand output for gwctl describe gatewayclass

https://deploy-preview-2723--kubernetes-sigs-gateway-api.netlify.app/geps/gep-2722/ should help give an idea of what kind of an output we plan on having for gwctl describe gatewayclass <GATEWAY_CLASS>.

/area gwctl
/assign @harshitasao

@harshitasao -- Please use "/assign" to assign this to yourself. Do reach out if you get stuck somewhere

/assign

@harshitasao, did you get a chance to give this a shot?

Hi @gauravkghildiyal ! Apologies for the delayed response. I had started working on the issue but was unable to continue because of my college exams; however, now that my exams are finished, I will resume working on this and submit the PR ASAP.

Hi folks @harshitasao @gauravkghildiyal
I am new to the Gateway API and looking forward to contributing further to it.
Observing no activity on this issue since the last week, if you're open to handing over the issue to me, I would love to work on it. Rest, I am open to collaborating in other ways as well.
Thank you

/assign

@gauravkghildiyal
Made the changes. Please do check out some "notes" I mentioned in the PR's description justifying the "million"-liner changes in it (due to changes in vendor/) and another note.
Thanks

@yashvardhan-kukreja -- I am working on https://github.com/kubernetes-sigs/gateway-api/issues/2994 so I would like to tackle the remaining part about DirectlyAttachedPolicies together with it. So I think we can mark this as fixed now.

/unassign harshitasao

/close


Image component

We now have the ability to add images to the site. we now need to create a component that can choose which image to add to the data. It would also be nice to track which data has access to each image, so we can alert the user if they are about to remove an image that is currently being used.

Done.


Documentation page is not working

Please Check 🙌🏻

Fixed https://vue3-google-signin.wavezync.com/


feat: Add domain_endpoint_v2_hosted_zone_id to outputs

Description
Added a new output, domain_endpoint_v2_hosted_zone_id, to facilitate the creation of Route53 alias records for custom domains in this module.
Motivation and Context
Amazon OpenSearch Service now supports Route 53 alias record for custom endpoint. This enhancement simplifies the process of integrating custom domains by directly providing the hosted zone ID required for Route53 configurations.
Usage Example:
data "aws_acm_certificate" "certificate" {
  domain = local.domain_name
}

data "aws_route53_zone" "this" {
  name = local.domain_name
}

module "opensearch" {
  // Your OpenSearch Configuration...

  ip_address_type = "dualstack"
  domain_endpoint_options = {
    enforce_https       = true
    tls_security_policy = "Policy-Min-TLS-1-2-PFS-2023-10"

    custom_endpoint_enabled         = true
    custom_endpoint                 = "${local.name}.${local.domain_name}"
    custom_endpoint_certificate_arn = data.aws_acm_certificate.certificate.arn
  }
}

module "records" {
  source  = "terraform-aws-modules/route53/aws//modules/records"
  version = "~> 2.0"

  zone_id = data.aws_route53_zone.this.zone_id

  records = [
    {
      name = local.name
      type = "A"
      alias = {
        name    = module.opensearch.domain_endpoint_v2
        zone_id = module.opensearch.domain_endpoint_v2_hosted_zone_id
      }
    }
  ]

  depends_on = [module.opensearch]
}

Breaking Changes
no
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 1.5.0 :tada:


Missing ctrl key on the terminal

I believe the CTRL keys are necessary for the terminal.
Especially when you do not have any external keyboard, you need it seriously.
(CTRL+C is not enough.)
Other terminal apps already support it, so it will not be difficult.
Thank you.

I agree. I will implement this in a future update.


Fix unit test build error

Unit tests are failing to run because of a tsnode compiler error:
F:\vscode-python-3\node_modules\ts-node\src\index.ts:245
    return new TSError(diagnosticText, diagnosticCodes)
           ^
TSError: ⨯ Unable to compile TypeScript:
src/client/datascience/interactive-ipynb/nativeEditor.ts:744:9 - error TS2322: Type '{ source: string[]; cell_type: "code"; metadata: Partial<ICodeCellMetadata>; outputs: IOutput[]; execution_count: number | null; } | { source: string[]; cell_type: "raw"; metadata: Partial<IRawCellMetadata>; attachments?: IAttachments | undefined; } | { ...; } | { ...; }' is not assignable to type 'ICell'.
  Type '{ source: string[]; cell_type: "code"; metadata: Partial<ICodeCellMetadata>; outputs: IOutput[]; execution_count: number | null; }' is not assignable to type 'ICell'.
    Type '{ source: string[]; cell_type: "code"; metadata: Partial<ICodeCellMetadata>; outputs: IOutput[]; execution_count: number | null; }' is not assignable to type 'IUnrecognizedCell'.
      Property 'metadata' is incompatible with index signature.
        Type 'Partial<ICodeCellMetadata>' is not assignable to type 'JSONValue'.
          Type 'Partial<ICodeCellMetadata>' is not assignable to type 'string'

Codecov Report

Merging #8135 into master will increase coverage by 30.09%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master    #8135       +/-   ##
===========================================
+ Coverage   28.71%   58.81%   +30.09%
===========================================
  Files         329      503      +174
  Lines       14017    23081     +9064
  Branches     2228     3721     +1493
===========================================
+ Hits         4025    13574     +9549
+ Misses       9956     8638     -1318
- Partials       36      869      +833

Impacted Files
Coverage Δ

...ient/datascience/interactive-ipynb/nativeEditor.ts
39.79% <100%> (ø)

.../client/datascience/jupyter/jupyterConnectError.ts
66.66% <0%> (ø)
:arrow_up:

...c/client/interpreter/autoSelection/rules/system.ts
100% <0%> (ø)

src/client/linters/linterInfo.ts
91.66% <0%> (ø)

...datascience/jupyter/liveshare/hostJupyterServer.ts
16.04% <0%> (ø)

...atascience/interactive-window/interactiveWindow.ts
23.91% <0%> (ø)

...t/testing/common/testVisitors/flatteningVisitor.ts
78.57% <0%> (ø)

...rc/client/testing/unittest/services/argsService.ts
64.51% <0%> (ø)

src/client/linters/flake8.ts
100% <0%> (ø)

...r/extension/configuration/providers/flaskLaunch.ts
85.18% <0%> (ø)

... and 365 more

Continue to review full report at Codecov.

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


Set up file descriptors and mmap

SUMMARY
Kafka uses a very large number of files and a large number of sockets to communicate with the clients. All of this requires a relatively high number of available file descriptors. Red Hat Enterprise Linux ships with only 1,024 file descriptors allowed per process. This is too low for Kafka. Values around 100k are very common in production environments.
The collection should allow to set up that value for RHEL environments, and also allow to update the vm.max_map_count variables.
References:

How to set ulimit values
What is the parameter "max_map_count" and does it affect the server performance?

ISSUE TYPE

Feature Idea

@rmarting what would be a sane default value for vm.max_map_count?

In production environments we are speaking to have values around 100k, however, there is not a magic number.  So, we define the default value for RHEL environments (around 64k), or we can define 1048576 as default value. But this number requires a better analysis of the environment of the Kafka.
HTH

@rmarting I think with the ulimit and the kernel parameters tweaks, we have everything we need, right? We can close this issue, don't you think?

Implemented by #69.


Add Games Industry Graphs sample applications notebook

Issue #, if available:
Description of changes: Created sample notebook to demonstrate graph use cases in the games and interactive entertainment industry.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I reviewed the sample notebook with Melissa.


reset panel when it is opened and your resize window

ok. this is very special now but it can happen on desktop. because i use mediaqueries to just have the slideout menu on mobile devices:

resize window down to mobile view so that slideout menu appears. open it
now resize back to desktop size

as you can now see the panel still have that translate3d property although the slideout menu is hidden because of the mediaqueries. this looks strange now. do you have any idea how to handle that case properly?

You can try something like this:
window.addEventListener('resize', function() {
  slideout.close()
});

oh yes. this does the trick. thank you very much. i like easy solutions :)


converting images -> series with singleton

The following fails for the Spark backend
import thunder as td
images = td.images.fromrandom(shape=(1,1), engine=sc)
images.toseries()

Not sure yet where the problem is.
cc @jwittenbach

Update: this happens whenever each image is a singleton, doesn't matter if it's one or more images, e.g.
import thunder as td
images = td.images.fromrandom(shape=(2,1), engine=sc)
data.toseries()


Upgrade to 1.12.1

Change from VertexBuffer to BufferBuilder
Remove some unneeded warning suppressions
Updates some mappings
Updated Gradle to 2.3

Not ready yet, getting some crashes still.


Use FieldInterface instead of AbstractField

Removed usages of AbstractField (except extends) in favour of FieldInterface to loose coupling between Processor and Field implementations.
Extended FieldInterface with necessary methods.

@pmelab We'll merge it together with introducing 'ResolveInfoInterface` this week.


WIP: A command wrapper config

This is my first attempt at #1115.
I know I'm missing tests (that's the reason for the WIP). Before I spend the time learning Vader, I'd like some feedback if I'm doing it correctly and if I'm putting it to the right place. If so, I'll add them.
Thanks

Hmm, I probably can use the failing tests as a basis for my own ones. I'll have a look some time soon.

Hello again.
I have another, more complete, attempt now. It should handle the cases you describe, it has some tests and the documentation was extended.
However, I have no idea what the right thing to do it on windows is and the test there fails. Can I ask for some advice? Google Driven Development with check through appveyor fails me :-(.

I wrote my own implementation of this. Here are some notes.

The option is called g:ale_command_wrapper, and can be configured per buffer too.
By default all commands are spread on the end of the wrapped command.
A %* marker can be used to spread the wrapped command elsewhere inside of the wrapped command.
A %@ marker can be used to wrap a command as a single argument.
For commands with && or ;, only the last command is wrapped. So you can end up with cd some_dir && nice -n5 foo bar for linters which change directory, and so on.

Thank you :-)


Use single error channel for Client

currently multiple types of error messages we can see in the authenticate() and negotiate() flow.
it can be:

response.error:string[] from "token-proof" listener for "The redeem proof did not verify", "Ticket Signature is invalid" ...
response.error:string from "token-proof" listener for "USER_ABORT: The user aborted the process"
response.name:string from "error" listener for "POPUP_BLOCKED"
would be good to use common error format, we can even use your "NamedError" with name and message (or with error code , like in HTTP) and would be good to return error to the listener, where we are waiting for responce, not to separate listener.

So when we request proof then we will get proof or error, some for negotiate()
what do you think @micwallace , @nicktaras ?

I agree we should try to standardise the errors. The problem with negotiate (in active mode) is that multiple "token-selected" events can be emitted, hense why I decided it would be better to have a separate error event.
For authenticate, the function can be called with await and surrounded by a try-catch. And a single request will get a single result. This can also be done for negotiate in passive mode, however there may be multiple errors, each related to a different issuer.
Maybe we keep the error event to emit errors as they happen, but we also collect each error, and return them  keyed by issuer once negotiation is complete.

@oleggrib For now I have updated token-proof error so it is always an error object, rather than string[].

Created a ticket for this.


spatial search

Bounding box coordinates in solr: but can it do a shape?
GeoSparql
Schema.org keywords: spatialCoverage, spatial
Also Gazeteer spatial information (ARMAP, SCAR, XXX?)

[ ] Named location
[ ] Bounding box
[ ] WKT / WKB
[ ] Radius around a point
[ ] 'Need two places with the same kind of data'
[ ] habitat-based 'Need observation from tundra habitats'
[ ] multiple bounding boxes/shapes

This looks helpful: Spatial Geometry — The Ocean InfoHub Project and the development of the ODIS-architecture

starting with: how does this even show up in SPARQL queries?

A geosparql docker image: zazuko/fuseki-geosparql: Issue #1

The search should not return results for datasets that have incomplete spatial data coverage.


hls and api lal.html

hi
i need add hls show session connected info in http://<IP_ADDRESS>:8083/lal.html
and problem cpu >+++
problem not show session mp4 and session hls in http://<IP_ADDRESS>:8083/lal.html .
?

ok problem cpu 14.0 >+++ ?


Premium ServiceBus - Create Queue/Topic with max Queue Size - 80GB

Premium ServiceBus provide facility to create Queue/Topic with max 80GB Queue Size.
But ServiceBus explorer provides facility to create queue upto 5GB only.
Can you please provide facility to create Queue/Topic with max capacity.
Note - This is not a priority requirement, but good to have this feature, so we don't need to create Queue from Azure Portal with max size.

This is possible with the track 1/2 SDKs (Microsoft.Azure.ServiceBus and Azure.Messaging.ServiceBus).

SDK track 1: using ManagementClient you can get the namespace info with .GetNamespaceInfoAsync(). It returns NamespaceInfo with MessagingSku property.
SDK track 2: using ServiceBusAdministrationClient you can get the namespace info using with GetNamespacePropertiesAsync(). It returns NamespaceProperties with MessagingSku property

This is possible with the track 1/2 SDKs (Microsoft.Azure.ServiceBus and Azure.Messaging.ServiceBus).

SDK track 1: using ManagementClient you can get the namespace info with .GetNamespaceInfoAsync(). It returns NamespaceInfo with MessagingSku property.
SDK track 2: using ServiceBusAdministrationClient you can get the namespace info using with GetNamespacePropertiesAsync(). It returns NamespaceProperties with MessagingSku property

@SeanFeldman do you want to make the change?

@SeanFeldman do you want to make the change?

@paolosalvatori sure. It's going to be a bit hacky as the main project is still on SDK track 0 (WindowsAzure.ServiceBus).

@paolosalvatori sure. It's going to be a bit hacky as the main project is still on SDK track 0 (WindowsAzure.ServiceBus).


Create electriq_dehumidifier.yaml

Support for Electriq Dehumidifier CD25PRO-LE-V2
Tested on my home assistant and working very well. Only the icons don't really change based on the state for some reason.
Suggested Lovelace layout:
type: vertical-stack
cards:
  - type: humidifier
    entity: humidifier.electriq_dehumidifier
  - type: entity
    entity: fan.electriq_dehumidifier
    name: Settings
    attribute: preset_mode
  - type: entity
    entity: humidifier.electriq_dehumidifier
    attribute: current_humidity
    name: Current humidity
    unit: '%'
  - type: entity
    entity: humidifier.electriq_dehumidifier
    name: Oscillate
    attribute: oscillate
  - type: entity
    entity: light.electriq_dehumidifier
    name: UV sterilization
  - type: entity
    entity: switch.electriq_dehumidifier
    name: Ionizer
  - type: entity
    entity: lock.electriq_dehumidifier
    name: Child lock

Did you test this on top of release 0.8.4, or latest HEAD?  Icons are only working in latest head, I haven't yet released that change.

Hi, I am running latest from HACS, so 0.8.4. Ok it makes sense then. PS thanks for maintaining this integration, it made it so easy to integrate this dehumidifier! :)

I made some changes to the config installed. You can try it out now by selecting "Reinstall" from the integration's menu in HACS, and selecting "main" as the version to install.
I used preset_mode rather than oscillate for the fan's 45/90/0_90 setting, as that allows all three selections to be available. in the UI. The previous preset_mode was a duplicate of the humidifier's mode, so not needed in both places.

Oh yes, it was bugging me that I could not find a way to fit in the 45deg setting for the louvre. Also for the UV and Ionizer I had to make the UV a light entity as it's not possible to have 2 switches entities.
Testing now, thank you!

Yes duplicate entities of the same type are on my TODO list.  I will need them when I implement the sensor entity and break out the current_temperature and current_humidity into their own sensors to make them easier to work with.

Oh yes, I haven't thought about that, it will be so nice!

By the way, tested the changes in main, I had to delete integration and add it again, and it works flawlessly, also the louvre aperture, and the icons are working. I noticed you removed the t-shirt icon for the high setting, even though that setting is for drying clothes as the manual says, but it's not that important.

I've added the T-shirt icon back, though I won't urgently make another release for that.
The reason you needed to delete and add it again is that you included legacy_type: dehumidifier in your config file. This made it shadow the goldair dehumidifier since electriq sorts before goldair and broke some of the tests.  The legacy_type is only for backwards compatibility with the upstream project that only supports goldair devices, so shouldn't be used for new devices.  After removing that line from the config file, your setup was now pointing back at the goldair_dehumidifier config.


Run tests using github actions

I thought it might be useful to have the tests run and comment on pull requests. Github actions does a pretty nice job at this!
Github actions is free for public repos. When merged the ci will start immediately. See my fork for an example run:
https://github.com/eknuth/graph/actions/runs/2213627414

I'm in favor of this step as long as Ward is not held up by it. If needed, I assume one could comment out the test line in the yml file, or comment out/ignore a test case, if needed. Curious if we eventually add other actions such as lint, if this one yml file can be tweaked, and maybe the name generalized.

No need to change any processes! This won't prevent pushes or merging of pull requests, but it will let us know if the tests break at any time. You'll always be able to merge or push.
I'm a big fan of tooling if makes it things easier, but not when it slows things down. That should be the extent of it now.
You'll see an indicator of the passing status on the main page and you'll get emails if the build is broken.

Kelley, you are absolutely right. This could be easily extended to run linting, formatting or any other task. This is a great way to get into the CI/CD side of things. Because of the deno magic this module can be consumed by url and we don't have to publish or package the graph, but there are other possibilities if needed.


Implement tutorial mode

In this mode different hints will be displayed the first time an action is available, e.g. "click on item to pick it up", "press Tab to open inventory",

For the framework itself, the tutorial mode will not be necessary. Instead, a demo scene should be provided, showcasing every feature that GOAT has to offer. Therefore, this is a duplicate of #275 .


uefi-firmware-parser: init at 1.12

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

I don't understand.
This package is in 24.05 from https://github.com/NixOS/nixpkgs/pull/62100, but then it was removed from unstable with the following message in pkgs/top-level/aliases.nix:
uefi-firmware-parser = throw "The uefi-firmware-parser package was dropped since it was unmaintained."; # Added 2024-06-21

which makes it to fail the nixpkgs-vet, for the unmaintained reason which is not correct:
https://github.com/theopolis/uefi-firmware-parser/commits/master/

This was dropped here https://github.com/NixOS/nixpkgs/pull/321436, when samueldr left nixpkgs.
You have to remove the respective entry from pkgs/top-level/aliases.nix.


Suppress desktop notifications within integration tests

This is a quick way to suppress the desktop notifications getting generated whenever these tests get executed. It's confusing to see the various success and failure notifications coming up while the test is still in-progress. Feel free to expand the extension blocklist here - any extra stuff that you can disable will only make the test run faster.

COLCON_EXTENSION_BLOCKLIST

Thats cool, didn't know about this setting.

any extra stuff that you can disable will only make the test run faster.

With the explicit declaration of test dependencies the new CI, there should be fewer extensions installed. That said, are there any other extensions remaining worth blocking?
https://github.com/ruffsl/colcon-cache/pull/36

With the explicit declaration of test dependencies the new CI, there should be fewer extensions installed. That said, are there any other extensions remaining worth blocking?

You're right, there won't be many extensions installed during CI, but I'm thinking of local development. For example, I have a local workspace that has all of the colcon packages pulled to their development tip. I didn't see any other extensions causing problems, but I thought I'd mention it in case you do.


refactor: keydown event is refactored for more generic use

Hi @fatihsolhan,
The PR has released in v2.1.0


Timeout because of returned value from animation transitions

Bug report

Node Version: 4.4.7
Protractor Version: 4.0.9
Angular Version: 1.5.9
Browser(s): Chrome 53.0.2785.143
Operating System and Version macOS 10.12

I've noticed my tests started failing on my computer recently.
Please note that tests still pass on our Windows 7 CI computer with Chrome 53.
One of the test fails after the waiting for page synchronization exceeds the configuration time.
After investigation and looking how the synchronization worked, I've managed to isolate where the bug comes from.
Some of my animations transition last less than one second :
  transition: opacity linear 0.25s;

For theses animations, timeouts used in the $browser.defer function from angular were very high (for the 0.25s, the timeout was 37500ms). So the protractor synchronization becomes very long in that case.
Looking deeper where the animation transition value was get from the css (function computeCssStyles from angular-animate), I've found the returned value from the window.getComputedStyle was "0,25s" instead of "0.25s". The computeCssStyles don't handle well this case and returns 25, instead of 0.25.
Now you're going to tell me this is not a protractor issue, maybe a Chrome bug, or angular-animate bug.
I would agree but I've noticed that only when I launched my app from protractor, the returned value format issue happens. When I launch Chrome manually, the returned value is ok ("0.25s".)

Thanks for the report! If it's possible, could you give us a minimal example that reproduces the issue? That'd really help us get to the bottom of this.

You can reproduce it with the animation example of the testapp.
In the css file, replace the transition value with .25s and add a console.log to output the delay property passed to the  $browser.defer function in angular.

Sorry, not able to reproduce this. The computeCssStyles I see is 0.25s, and the delay is appropriate. Maybe this was a weird chromedriver bug?


Added answer.md to quiz & need the answers reviewed, Corrected a Typo in README.md

Description
This PR contains a typo fix in the README.md and added a file containing answers to quiz questions.
Type of change

[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Manual verification
[x] Markdown file preview

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Hey @atapas I have updated the answer.md file as requested with links to respective questions.
Thanks for reviewing.

Hey @saideepd I think you need to resolve the conflict at your end before pushing.

Hey @atapas I've resolved the conflict.

Hey @atapas Completed all the requested changes. Do let me know if you need any more changes.

Hey @saideepd , One change is still pending.. Linking the answers from the questions.

Hello @saideepd
I have this request.
I have added this file for answers: https://github.com/atapas/promise-interview-ready/blob/main/src/tasks/answers.md
Could you please update this file with the answers and explanations? While creating the answer file, I have created one answer for example that shows how it is linked to the respective question. Please link other answers the same way.
Also, link the answers from the quiz file: https://github.com/atapas/promise-interview-ready/blob/main/src/tasks/readme.md
Thanks a lot.

Hey @atapas Completed all the requested changes. Do let me know if you need any more changes.

Hey @saideepd , One change is still pending.. Linking the answers from the questions.

Hi @atapas I assume the above highlighted comment is the one you're asking me to complete. I've linked the answers.md file in readme.md file. Please check my latest commit & let me know if that is how you intended it to be linked or in some other way.

@saideepd Actually I meant to link from each of the questions from here: https://github.com/atapas/promise-interview-ready/tree/main/src/tasks#quizzes-1
I am sorry if it was not clear before. On the above quiz page, the answer and explanation section is empty for every question. I am asking to link that for every answer. Please let me know if I am able to clarify.

Understood. You want me to add a link to the answers in the Quizzes page. So, what I'll do is, against each Answer of the questions, I'll write the correct answer. And against each Explanation, I'll provide a link for the explantion to answers.md file. Let me know if this is fine or you want it in some other format.
Example - Answer: Let's do it!, f1, f1, f1, f1, in settimeout Explanation: Click here for Explanation

Almost there...
Instead of putting the answer in the quiz file.. lets give the link to get both answer and explanation..

Thanks. Sure will do the same for answers as well and not directly provide the answer.
Answer: Click here for Answer
Explanation: Click here for Explanation


Thank you

Great! I also noticed this happening on one of my lights (IKEA LED1545G12). After not finding a Home Assistant automation to blame I just ignored it. Do you think there might be a bug in Zigbee2MQTT itself? Anyway, thanks for the inspiration, I'll probably use a similar approach for a Home Assistant automation.

Do you think there might be a bug in Zigbee2MQTT itself?

It's possible, I have no idea. It started happening out of nowhere and I thought it was some defect since the newest of the lights I have wasn't doing it (LED2003G10, the other ones are LED1732G11). But then it started doing it as well occasionally.
I guess I'll ask in the Z2M repo.

I'll actually reopen this so it's easier to find.
I opened a discussion in the z2m repo, feel free to chime in https://github.com/Koenkk/zigbee2mqtt/discussions/20783


Submission group 36 2352582_2352594_2352517

Group 36 members:

ID
Name
****

2352582
Phạm Đăng Khoa
Leader

2352594
Văn Công Khoa

2352517
Đồng Công Khanh

Brief Description of Policy:
We implemented two algorithms to solve the 2D Cutting Stock Problem with the goal of optimizing product placement into stock containers as efficiently as possible:
1. First-Fit Decreasing (FFD) Algorithm:

Main Idea:

Products are sorted in descending order of area (length × width) to prioritize larger products.
Each product is attempted to be placed in the first available stock that can accommodate its size.
To increase placement feasibility, the algorithm tries both original and rotated orientations of the product.

Method:

Iterate through products with quantities greater than 0.
For each stock:

Check if the product (in original or rotated orientation) fits in the stock.
_find_placement: Searches all possible positions in the stock to place the product.
If a valid position is found, return the position and corresponding stock index.

If no valid stock is found, return an invalid placement result.

Advantages:

Fast execution time due to the greedy strategy.
Suitable for small to medium-sized datasets.

Disadvantages:

Does not guarantee an optimal solution as it places products in the first fitting stock.

2. Branch and Bound Algorithm:

Main Idea:

Uses recursion and backtracking to explore all possible product placements within stock containers.
At each step, the algorithm attempts to place a product into a stock and moves to the next state.
The algorithm stops when the maximum search depth is reached or all products are placed.

Method:

_initialize_patterns: Initializes cutting patterns for each stock.
_backtrack_placement:

Iterates through each stock and product.
Attempts to place the product into feasible positions, checking both orientations (original and rotated).
If placement is successful:

Mark the occupied area in the stock.
Decrement the product quantity.
Recursively continue to find solutions for remaining products.

Backtracks if no valid solution is found, restoring stock and product states.

Advantages:

Produces more accurate solutions compared to the FFD algorithm.
Suitable for complex problems requiring near-optimal solutions.

Disadvantages:

More computationally intensive due to exploring multiple placement possibilities.
Search depth is limited to avoid combinatorial explosion.

Implementation of Policy:
We structured the codebase into three main classes:

FFDPoicy: Implements the First-Fit Decreasing (FFD) algorithm.
BranchAndBoundPolicy: Implements the Branch and Bound algorithm.
Policy2352582_2352594_2352517: Allows switching between the two policies based on input parameters.

Summarized Results for FFD Policy:

Average Trim Loss: 0.3339
Average Filled Ratio: 0.1253
Minimum Trim Loss: 0.2159

These results highlight the effectiveness of the First-Fit Decreasing (FFD) algorithm in minimizing trim loss while efficiently filling available stock space.

Summarized Results for Branch and Bound (BnB) Policy:

Average Trim Loss: 0.2762
Average Filled Ratio: 0.0680
Minimum Trim Loss: 0.0433

These results demonstrate the effectiveness of the Branch and Bound algorithm in achieving a lower trim loss and a higher filled ratio compared to the FFD policy, at the cost of increased computational complexity.

We accidentally deleted our old repository after closing the initial PR and are unable to reopen it. This is our new PR, and we kindly ask for your acceptance. We sincerely apologize for the mistake.

Last chance to revise the PR until the end of Dec 17.

I have revise my PR can you check again if i have any mistake. Thank you.


AMDVLK sets timezone to GMT+0 when vulkan loader just enumerates ICDs.

issued discovered by Jakun at mangohud as reported here:  https://github.com/flightlessmango/MangoHud/issues/175
The basics are that i had a problem with my in game time in ESO switching to UTC, or gmt +0 which affected my in game clocks for ESO.  Was advised to try mangohud but then mangohud was showing one time for opengl and another for vulkan when using goverlay.  I'm not sure i understand why a graphics driver is setting the time to anything but i am sure there is some reason for it or it wouldnt be there.  However it is affecting my ability to game on linux as i need an in game clock that represents my local time.  Please advise..
A fuller explanation can be found in the link provided above as i initially submitted to mangohud for their help and Jackun has a far better understanding of what is specifically happening than i do...

Interesting, the code that sets TZ is here: https://github.com/GPUOpen-Drivers/pal/blob/85170384d0ee5447ac267d478f7a21bc036ea71c/src/util/lnx/lnxArchiveFile.cpp#L87
I’ll fix this.
As a workaround, adding AllowVkPipelineCachingToDisk,0 to .config/amdPalSettings.cfg should fix this too, at least vkcube does not set TZ anymore then.

awesomesauce!  ty!

A fix has been merged internally, so it should be in the release in 2–3 weeks.

Sweet!  TY!


Use of defined? returns truthy value on nil

For the methods whose names end with ?, do you maybe want to test for nil rather than test to see if the variable is defined? That is, you want the method to return false if it is defined as nil, right?
For example:
def stream?
  defined? @stream
end

Would this be better off as the following?:
def stream?
  !! @stream
end

I use !! because I find it helpful for methods ending with ? to return true or false, rather than truthy or falsy values. I feel it is more precise, and produces clearer and more concise output when logging/debugging using expressions like puts "stream? == #{foo.stream?}".

Good catch @keithrbennett
I don't believe this project is still being maintained. I've forked it and applied your suggestion:
https://github.com/abrom/henkei/releases/tag/v1.14.4


chore(DOCS): add multicast

woo hooo ship them all 👍

I’m concerned about the wording "... can be shared more efficiently among multiple consumers." Is it even feasible to share a non-multicast stream with multiple consumers?

I am content now with the current wording. This example by David demonstrates: https://www.webpackbin.com/bins/-KunuEEJxMtd-L48fPBk


Unknown field 'FilePath' in struct literal of type cli.StringFlag

When I try to add the FilePath element to a cli.StringFlag struct, I get the following message:
Unknown field 'FilePath' in struct literal of type cli.StringFlag

Here is a part of the code :
        // [...]
	app.Flags = []cli.Flag{
		cli.BoolFlag{
			Name:   "verbose, v",
			Usage:  "Enable verbose mode",
			EnvVar: "AIRSONICCLI_VERBOSE",
		},
		cli.StringFlag{
			Name:     "config, c",
			Usage:    "Load configuration from `<file>`",
			EnvVar:   "AIRSONICCLI_CONFIG_PATH",
			FilePath: config.CONFIGPATH,
		},
		cli.StringFlag{
			Name:   "server, s",
			Usage:  "Specify server location `<server>[:<port>]`",
			EnvVar: "AIRSONICCLI_SERVER",
		},
        // [...]

I think there is something wrong on my side, but can't find anything wrong.

I think what you want to do is:
			Name:     "config, c",
			Usage:    "Load configuration from `<file>`",
			EnvVar:   "AIRSONICCLI_CONFIG_PATH",
			Value: config.CONFIGPATH,
		},```

Yes this is what I had before. But how could I prevent using the configuration file when the flag isn't even used ?
I mean when I run :
go run main.go ping

It automatically uses the configuration file if present and write a new one if doesn't exist. How can I do to not use the configuration file at all ?

Don't put it at all or I'm missing something?

Here is what I need :
If flag isn't used at all => Don't use configuration
If flag is used but without the file path (as boolean flag) => Use default value
If flag is used with the file path = > Use the specified value
But while writing this comment, it looks like I'm asking a bit too much.
Should I use a boolean flag and a string flag ?
Something like :
-c                      Whether to use a configuration
--config-file        Path of the configuration file

Given that this is from last year, I think I'm comfortable closing it 🙂 feel free to re-open / open a new issue / comment in support if there's still interest here!


Align production with master

@olehermanse please don't merge

@mineralsfree please check CSP rules, there are errors on the staging  https://staging.build.cfengine.com/modules/masterfiles/

@mineralsfree please check CSP rules, there are errors on the staging https://staging.build.cfengine.com/modules/masterfiles/

it actually blocks code related to ad banner/data-tracker that is inserted in the comment section of the page. As it gets styles from remote server and tries to inject it in the page, it gets blocked by our CSP. I suggest we leave it as is until we replace disqus with better alternative @aleksandrychev @olehermanse


error: during stashing on windows atom

Using windows 10 and got following error.
Error:
Ungit tried to run a git command that resulted in an unhandled error. An automatic bug report was sent.
Command
-c color.ui=false -c core.quotepath=false -c core.pager=cat stash pop stash@{0}
Error
fatal: ambiguous argument 'stash@0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git  [...] -- [...]'
Stderr
fatal: ambiguous argument 'stash@0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git  [...] -- [...]'

Can you confirm that this happens when you try to drop the stash or restore the stash?

For this in cmd.exe win10 : git stash pop stash@{0}
fatal: ambiguous argument 'stash@0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git  [...] -- [...]'
Although following cmds do work
git stash pop stash@{0}
git stash pop stash@"{0}"
git stash pop stash@'{0}'
Let me know if you need something more.
Thx
Jas

That's strange, error message is complaining about git stash pop stash@{0}.  I guess somehow node child_process spawns a power shell instance but you are trying with normal terminal, or vice versa.
But whatever child_process spawns is eating up the bracket and reading stash@{0} as stash@0.

can you try one more thing?  is git stash pop stash@\{0\} working for you?
If that works and want to go above and beyond, can you manually change ungit's code to see if this fixes for you?  You would have to change this line to below.
git(['stash', type, 'stash@\{' + req.params['id'] + '\}'], req.query['path'])

(ungit source is more then likely to be found via npm list -g)

Hi there
Sorry in my response had some issues while posting. Let me post again correctly.

--> Corrected
For this in cmd.exe win10 : git stash pop stash`{0`}
fatal: ambiguous argument 'stash@0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'
Although following cmds do work
git stash pop stash@{0}
git stash pop stash@"{0}"
git stash pop stash@'{0}'
Let me know if you need something more.
Thx
Jas

double backslash worked for me but not single as suggested by you.
git(['stash', type, 'stash@\{' + req.params['id'] + '\}'], req.query['path'])
Jas

Can you confirm that below solution works?
I really wanted to have a command that works for both windows and *nix but it seems like I have handle it conditionally as double bracket doesn't work for mac.
app.delete(exports.pathPrefix + '/stashes/:id', ensureAuthenticated, ensurePathExists, function(req, res){
    var type = req.query.pop === 'true' ? 'pop' : 'drop';
    var bracketEscape = /^win/.test(process.platform) ? '\\' : '';
    git(['stash', type, 'stash@' +  bracketEscape + '{' + req.params['id'] + bracketEscape + '}'], req.query['path'])
      .always(jsonResultOrFail.bind(null, res))
      .always(emitGitDirectoryChanged.bind(null, req.query['path']))
      .always(emitWorkingTreeChanged.bind(null, req.query['path']))
      .start();
  });

Oh and thank you so much for discovering and debugging this issue with me.

Hey np.
Thx for awesome plugin as well :).
The above patch do work on my win10 so you are good to go with the patch.
Thx
Jas

Also, you would have to upgrade ungit itself since this is a fix for ungit itself once new ungit is published.

Pretty contented; No OCD's :)
Thx for patching it.


Updating README to reflect kv v1 engine compatibility

KV engine in Vault 1.0.0 is 2 by default causing the module to report:
Function lookup() did not find a value for any of the names ['key', 'vault_test']

Good catch, I'll need to fix that as well

No worries mate. Keep up the good work!
On Thu, Dec 13, 2018 at 3:14 PM Peter Souter<EMAIL_ADDRESS>wrote:

Merged #20 https://github.com/petems/hiera-vault/pull/20 into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/petems/hiera-vault/pull/20#event-2024484470, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANb_tb4Bcwry3oImWYGGPOJvx6sxquWZks5u4m7sgaJpZM4ZRz1B
.

Looks like there's already a PR: https://github.com/petems/hiera-vault/pull/15 😁


Ignore stale locks by default (or add at least an option for it)

Output of restic version
restic 0.9.6 compiled with go1.13.4 on linux/amd64
What should restic do differently? Which functionality do you think we should add?
I had a stale lock (and didn't get an unlock hint, but that's another issue) and therefore got the error message
Fatal: unable to create lock in backend: repository is already locked by PID 12345 on my.hostname-of-the-local-machine.com by localuser (UID 1234, GID 1234)
on calls like restic prune or restic check.
There was no process with this id anymore and the lock was obviously stale.
I didn't had proper monitoring of the backups, which is why I missed this for a while. But a stale locks should be recognizable by restic in general and it would make sense to ignore stale if used by noninteractive calls (i.e. cron jobs)
What are you trying to do?
Trying to do so some backups via cron job.
Did restic help you today? Did it make you happy in any way?
Yes, I love it!

You could just add a call to unlock before the actual command. Note that currently the lock refresh has a bug that can cause locks to be erroneously regarded as stale (#2391).
I don't think that removing (stale) lock files automatically / by default is a good idea:

For one the current implementation needs some work to make it more resilient to errors (#2715).
You'd need to guarantee that all hosts have a more or less accurate clock that was not messed up e.g. by timezone changes.

Adding the lock cleanup as an option has no real benefit over just calling unlock. It's one call fewer, but won't be available in old restic versions unlike the unlock command and would also add just another command line option.

I don't think that removing (stale) lock files automatically / by default is a good idea

Well, the difference is that your proposal

You could just add a call to unlock before the actual command.

would even remove non-stale lock files!
I don't see any use in maintaining stale lock files at all.
Furthermore my guess is that many users are calling restic from the same host which sounds solvable to me, right?

would even remove non-stale lock files!

unlock only removes stale locks. Removing all lock file requires unlock --remove-all.

Furthermore my guess is that many users are calling restic from the same host which sounds solvable to me, right?

The unlock command should already be able to remove stale locks from the same host without waiting half an hour. See https://github.com/restic/restic/blob/f12f9ae2402560eeef5a0f4f4a367ff36f656100/internal/restic/lock.go#L209 . Maintaining stale lock files is obviously not useful, however, removing them automatically means that restic needs to be able to exactly (not just most of the time) decide whether a lock is really stale or not. And right now the stale lock detection only works properly most of the time.

unlock only removes stale locks. Removing all lock file requires unlock --remove-all.

Thank you, I did not know that!
Still, with a switch (i.e. --remove-stale-locks) wouldn't need this additional step, right?

removing them automatically means that restic needs to be able to exactly (not just most of the time) decide whether a lock is really stale or not.

I absolutely agree. But this is also true for your proposal of the "manual" removal as well. So I don't think this something that should be covered in this issue here. So this point should be moved to #2751, I guess?

And right now the stale lock detection only works properly most of the time.

Again: this just means that calling unlock manually is faulty as well.
So, just to clarify this: we are speaking about two things here:

stale lock detection (probably related to issue 2751)
having a possibility to automatically remove stale locks.

I mean it's obviously much easier to add a switch to a command that having to call restic unlock before every restic operation that could complain, right? Or am I missing something?

Still, with a switch (i.e. --remove-stale-locks) wouldn't need this additional step, right?

If we could reliably detect whether a lock is stale or not, then this could also be the default behavior. There's a discussion in #1141 to get rid of locks completely, which would also solve this.

I absolutely agree. But this is also true for your proposal of the "manual" removal as well. So I don't think this something that should be covered in this issue here. This point should rather be moved to #2751, I guess?

#2751 is just that the 'unlock' hint isn't printed. Afaict it's not a problem with detecting whether a lock exists or not. Yes, things can also break if you call unlock manually. But I'd assume that you often know that no other restic instance is running concurrently. With that knowledge it's perfectly safe to call unlock.

So, just to clarify this: we are speaking about two different things here:
1. stale lock _detection_ is broken ([issue 2751](https://github.com/restic/restic/issues/2751) is probably related?)

2. having a possibility to automatically remove stale locks

And what I wanted to have covered here is just the second point.

#2751 just covers the missing unlock hint. Making the lock procedure more reliable is covered by #2715 . You can already assemble the functionality that such a command line flag would provide, by creating an alias or wrapper script for restic and let that one call unlock.

I mean it's obviously much easier to add a switch to a command rather than having to call restic unlock before every other restic command that could complain, right? Or am I missing something?

If you're using a script then the difference doesn't matter. And when you call restic manually, yes, then you might need that additional step (which can be a bit annoying).

PS:

The unlock command should already be able to remove stale locks from the same host without waiting half an hour

I'm not sure but I believe my lock was two days old when I saw it. What is used to determine the age of the lock? Is it persisted within the file or is the file modtime used? Because I'm using it on a rclone mount with --no-modtime enabled if this changes anything.

Each lock file contains a timestamp that is used for comparison.

#2751 is just that the 'unlock' hint isn't printed.

I know that but I don't know whether it isn't printed because it the output functionality was removed or because a condition wasn't met. And one condition could be that it wasn't able to detect the lock.

But I'd assume that you often know that no other restic instance is running concurrently. With that knowledge it's perfectly safe to call unlock.

I'm not sure what exactly is the assumption here:
locks are only useful if you don't know whether restic is still running or not. You simply don't need locks if you know anyway that restic isn't running anymore. :wink:
I believe that the detection of (stale) locks as a feature is very useful, but it is only useful if it works properly.

I hit this too!
# restic forget --keep-weekly 4 --prune
repository d503016e opened successfully, password is correct
Fatal: unable to create lock in backend: repository is already locked by PID 26711 on green by root (UID 0, GID 0)
lock was created at 2019-09-22 06:47:02 (12486h43m51.116694806s ago)
storage ID 4b235753

I had a lock that was well over a year old. Would have been good to have been alerted about this.

@paulschreiber Please upgrade to a recent restic version. Starting from restic 0.10.0 for a stale lock restic will print the hint the ``unlock`` command can be used to remove stale locks. (And since restic 0.12.0 prune is a lot faster).

@MichaelEischer Aha! The Ubuntu package seems to be very far behind. Will install a binary manuallly.

I would like to add my opinion. As an user, I would like to not have to handle this technical detail, each command should handle the stale locks to ignore them and why not remove them. This can be an option "--remove-stale-locks" or other to avoid impacting existing uses, but from my opinion, the locks should be something technical that I should not impact my use.
Regards,

however, removing them automatically means that restic needs to be able to exactly (not just most of the time) decide whether a lock is really stale or not

To me it looks like it would be sufficient to unlock stale locks by default just once per invocation - right at the start. If it fails to properly detect all stale locks, it still just bail out. But I think it can be restricted to cases where restic is running unattended (that is with no tty attached).
Background:
I'm currently testing restic and created a systemd service with timer to create a daily backup of my system which would even wake the system up. But if the service forcibly shuts down - maybe because I rebooted the system or power went down - it leaves a stale lock behind. It should simply be able to clean up from this situation automatically on the next invocation - and only if that doesn't work, it exists with an error code, in which case I'd receive a notification.
But for the moment, I'll just add the unlock as a ExecStartPre job, so it looks like this now:
# /etc/systemd/system/system-backup.service
[Unit]
Description=Daily Backup

[Service]
Type=oneshot
IOSchedulingClass=idle
IOSchedulingPriority=7
CPUSchedulingPolicy=batch
Nice=15
ProtectSystem=strict
PrivateTmp=yes
Environment=HOME=/root
ReadWriteDirectories=/root
ReadOnlyDirectories=/mnt/btrfs-pool
WorkingDirectory=/mnt/btrfs-pool
ExecStartPre=/usr/bin/restic unlock
ExecStart=/usr/bin/systemd-inhibit /usr/bin/restic backup --tag auto --exclude-caches /mnt/btrfs-pool --exclude-if-present 'beeshash.dat'
ExecStartPost=/usr/bin/restic forget --tag auto --path /mnt/btrfs-pool --keep-daily 30 --keep-weekly 14 --keep-monthly 12 --keep-yearly 2 --prune

Individual configuation:
# /etc/systemd/system/system-backup.service.d/override.conf
[Unit]
<EMAIL_ADDRESS>
[Service]
Environment=RESTIC_PASSWORD=***
Environment=RESTIC_REPOSITORY=/srv/nas02/backups/***.restic
ReadWriteDirectories=/srv/nas02/backups/***.restic
Slice=maintenance.slice

Daily schedule:
# /etc/systemd/system/system-backup.timer
[Unit]
Description=Daily Backup Timer

[Timer]
OnCalendar=01:00
WakeSystem=true

[Install]
WantedBy=timers.target

This bit me again. My weekly cron job now has restic unlock before the prune command.

With #2715 being resolved, it should be possible to add support for automatically unlocking the repository. However, as it is rather easy to mess up e.g. the timezone of a host, the automatic unlock should use a far longer timeout (I'm thinking about 24 hours) before considering lock files as stale than used by the unlock command.
Alternatively, we could also investigate, whether we could retrieve a timestamp from the server, e.g. by querying the file timestamp when the lock file was created at the server.

Any updates on this issue? I have multiple machines backing up to a single repo and run into stale locks fairly often. There are nice discussions here and in https://github.com/restic/restic/issues/1141 but neither has comments from the last year or so.

#1141 is on the roadmap for restic 0.19: https://forum.restic.net/t/roadmap-for-restic-0-17-to-0-19/7197 . That will also involve improving the handling of stale locks.

Automatically removing locks (or having an option to do so) created by the same hosts with a non longer existing PID, but without also unconditionally removing locks older than 30 minutes would solve a lot of issues and should be safe?


You cannot put my copyrighted material from Practical Typography under the MIT license

Please either change the license on this project, or remove my material from this repo. Thank you.

Hello! Sorry, I wasn't thinking about copyright at all when writing the guide. Would Unlicense work?

Obviously (?) no. The Unlicense is even less restrictive than the MIT license.
Mr.  But if you don’t want to “think about” the basic obligations that come with citing copyrighted material, maybe you shouldn’t be using it.

Sorry again! Removed your material from the repo. If everything is good, I'll close the Issue!


Images and urls are not rendered in HTML Report correctly when provided in testContext

I have the following test in wdio:
describe('Test Report', function() {

  it('should display link and image', function() {
    addContext(this, 'http://webdriver.io/');
    addContext(this, 'http://webdriver.io/images/webdriverio.png');
  });

I expect to see a link and an image in the report, but I see this instead:

I've created a PR for this fix: #29
I'm unable to run the tests, and the build is breaking because some tests would need to be fixed for this PR to merge. Is there a guide to running the tests, or can somebody help me with this merge.

This should be resolved in the most recent release.  If not please submit a new issue with steps to reproduce