Add a new task when importing a dump

Related discussion: https://github.com/meilisearch/product/discussions/529
Related specification: WIP
We plan to add a new task to the task queue of Meilisearch when importing a dump. This will allow the users to check the GET /tasks route and be able to know when the dump import is over.
TODO

[ ] For implementation, check with the product squad to get how it should be implemented
[ ] Merge the changes into main
[ ] Update the specification

Impacted teams
@meilisearch/docs-team @meilisearch/integration-team @meilisearch/cloud-team

how can I reach the product squad?

Hello @amab8901
Product squads are internal and temporary product teams at Meili working on a specific user frustration in order to provide a solution.
You can reach them by discussing the product repository (see the discussion I linked in the issue). If you have a specific need or frustration and no discussion exists yet in the product repo, please open a new one 😊
Also, to give more context, the TODO steps are information for the person solving the issue. Only internal Meili people are encouraged to do it.
Issues that are allowed to be solved by the community are issues labeled as good first issue and contribution accepted issues.

Hello everyone here. This issue is not breaking (sorry for the breaking change tag I put previously, I was wrong) and regarding the time we have for the v1 sprint, we chose to decrease the priority of the issue. It will probably not be solved for v1, but later 😊

@curquiza should we remove this issue from the milestone?

I cannot 100% guarantee we will not have the time to do it, it will depend, that why I have not removed it yet.
However, for you, integration team, I don't recommend focusing on it first -> don't add it to your central issue, I will let you know if we succeeded in doing it, but to be honest I have doubt.

Impossible to do it during the v1 sprint to prioritize other improvements.


Update cairo compiler version and fix related TODOs.

This change is

Codecov Report
Attention: 6 lines in your changes are missing coverage. Please review.

Comparison is base (8f249b5) 70.54% compared to head (ae8aca2) 70.52%.

Files
Patch %
Lines

crates/blockifier/src/execution/contract_class.rs
14.28%
6 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1332      +/-   ##
==========================================
- Coverage   70.54%   70.52%   -0.03%
==========================================
  Files          59       59
  Lines        7459     7463       +4
  Branches     7459     7463       +4
==========================================
+ Hits         5262     5263       +1
- Misses       1777     1780       +3
  Partials      420      420

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


Add additional path for OSS to Enterprise migration

URL for relevant page?
https://docs.influxdata.com/enterprise_influxdb/v1.8/guides/migration/
@timhallinflux 's  notes:
Did some digging and the team does not typically use this approach.  Support ran into issues that were reported and fixed.  However they typically preach another method that is a best practice for large data sets and zero downtime.  We should have both documented as suggested approaches but for different scenarios.  The approach typically recommended by support involves:

Set up the cluster
Take a portable backup from OSS
Restore on the cluster
Dual write
Export the data from the time the backup was taken to when the dual write started
Import the data

This gives them 100% uptime with a fresh replicated cluster and the ability to do a full test and acceptance cycle

Closed with https://github.com/influxdata/docs-v2/pull/1305


Feat: Add feature storage for McKitchen

Add feature storage for McKitchen

Codecov Report

Merging #44 (7dc4ca9) into master (c0cb8f0) will decrease coverage by 6.79%.
The diff coverage is 0.00%.

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


Throws exception when user tries to search file in entire company.

Tried to  search this.

Result

limited support
works only for upto 1000 file

Requires to refresh page to display actual content of the folder.
Steps to Reproduce:-

Go to any sub-folder.
Search Png files in entire company.
Now click on root folder.


Fixed warning at window closing (WIN32)

I always saw such a warning in the console when I run any project:

This happens because the project manager window is going to close but the call processing for WM_ACTIVATE happens after it. I simply relocated its processing to the WM_TIMER event (with minimal delay) that interrupted if the window is closed.
Now its clean:

@vnen

reduz: would probably be good if vnen gives it a check

@vnen

reduz: would probably be good if vnen gives it a check

Thanks!

Thanks!


how do i hook  every  request  before controller invoked?

thanks.

http://sailsjs.org/#/documentation/concepts/Policies


minor updates (pom, CLI in javadoc)

@confluentinc It looks like @coughman just signed our Contributor License Agreement. :+1:
Always at your service,
clabot

PR too dirty. Creating a new one


Endpoint with trailing slash

Hello! For the VAULT_ADDR endpoint value, if the caller provides a value that includes a trailing slash, eg; http://<IP_ADDRESS>:8200/, the library currently does not handle it well.
We can see that the full uri is constructed here: https://github.com/kr1sp1n/node-vault/blob/70097269d35a58bb560b5290190093def96c87b1/src/index.js#L91
...with a trailing slash concatenated into the uri after the client.endpoint.
We would like to submit a PR that addresses the problem with a client.endpoint value that includes a trailing slash, by automatically handling it by removing that trailing slash from the endpoint value.
Thoughts/comments/discussion appreciated.

@kr1sp1n any thoughts on this?

@kr1sp1n any thoughts on this?

I had to normalize all my URLs before I handed them off. Would be great if the package did that for us.

@aviadhahami This issue is addressed in #176

@GoFightNguyen thx! just saw the PR was updated but codecov & travis are stuk
I'll await @kr1sp1n to give me perms to force rebuild and merge 👍
thx for the help :)


Username field does not change on save

On the Profile page, when a user updates their username, it does not update on save. The page has to be reloaded. The other fields have this functionality. @adityavinodk please fix.

This bug will be fixed with the Assignments branch merge into Master.

Fixed.


Remove the favourites restriction on sellto

🚀 Feature Proposal
This shouldn't have ever been a thing. People know what they're selling when using sellto. This restriction only came about due to people specifically complaining about sacrifices and bot selling (and even then, mostly with filters) which has no way to undo, honestly I'm not sure if this was just misinterpreted as sellto instead of just sell. This has caused a deluge of support questions and people thinking selling is bugged when in reality there's just a bad "feature" which gives 0 feedback from the bot about what the issue is.
Additionally, if something is sold to another player unintentionally, people can simply ask for it back and 99% of people will not be dicks and give it back.

Simply just dont use --cf in cases where you're selling favorited items, its a slight inconvenience but it stops some bad things from happening.

Just bumping this, you aren't able to trade favorited items at all in OSB regardless of whether or not you use --cf. Definitely best to just remove the restriction entirely from +sellto.

Just as an example of that, person isn't using --cf, still can't trade the items until they un-favorite them.

Simply just dont use --cf in cases where you're selling favorited items, its a slight inconvenience but it stops some bad things from happening.

It prevents you without --cf as well, this closure is invalid. It's also, as I said, not remotely a valid "safety measure" and only stops legitimate sales. Most people I've talked to agree with me that this is not a good "feature" for sellto, so I'll continue to bump this issue semi-regularly.

it does not prevent without —cf on BSO buy it does on OSB. it also prevents sacrificing favs

Just bumping this, you aren't able to trade favorited items at all in OSB regardless of whether or not you use --cf. Definitely best to just remove the restriction entirely from +sellto.
Just as an example of that, person isn't using --cf, still can't trade the items until they un-favorite them.

just don't use —cf and you can sellto favorites
it's a nice safety measure,  in my opinion it should be OSB allow sellto of favorite items.

Originally posted by @imTURBObruh in https://github.com/oldschoolgg/oldschoolbot/issues/3059#issuecomment-950817168
I kind of mentioned the fact that OSB should allow +sellto on favorited items  so why would my post be voted 👎🏻... and not yours? gah... lol.
either way.. another bump.


ASN lookup fallback wrong Accept header

The Accept header should be 'application/json' for the Arin ASN check:
https://github.com/secynic/ipwhois/blob/master/ipwhois/net.py#L621
https://github.com/secynic/ipwhois/blob/master/ipwhois/net.py#L492
Need to create a headers parameter in get_http_json.
Long term, change the Arin ASN check to use RDAP rather than the old REST lookup.

Merge pending commit for RDAP rate limiting #99 due to argument changes on get_http_json

Pushed to dev. Will merge with 0.12.0


Add converter of pytorch func to thunder trace

What does this PR do?
As per title, for a bit of better readability of the lookaside of torch.autograd.Function.

@crcrpar I'm not opposed, but the conflicts needs resolving.


Laster master fails at starting time

Current master fails with this error:
hie: Must call withStdoutLogging or withStderrLogging
CallStack (from HasCallStack):
  error, called at ./Haskell/Ide/Engine/MonadFunctions.hs:73:15 in hie-plugin-api-<IP_ADDRESS>-FstzkDwS3yHKVLg2PCWqHZ:Haskell.Ide.Engine.MonadFunctions
[Info  - 4:55:49 PM] Connection to server got closed. Server will restart.
[Info  - 4:55:49 PM] Connection to server got closed. Server will restart.
hie: Must call withStdoutLogging or withStderrLogging
CallStack (from HasCallStack):
  error, called at ./Haskell/Ide/Engine/MonadFunctions.hs:73:15 in hie-plugin-api-<IP_ADDRESS>-FstzkDwS3yHKVLg2PCWqHZ:Haskell.Ide.Engine.MonadFunctions
hie: Must call withStdoutLogging or withStderrLogging
CallStack (from HasCallStack):
  error, called at ./Haskell/Ide/Engine/MonadFunctions.hs:73:15 in hie-plugin-api-<IP_ADDRESS>-FstzkDwS3yHKVLg2PCWqHZ:Haskell.Ide.Engine.MonadFunctions
[Info  - 4:55:49 PM] Connection to server got closed. Server will restart.
hie: Must call withStdoutLogging or withStderrLogging
CallStack (from HasCallStack):
  error, called at ./Haskell/Ide/Engine/MonadFunctions.hs:73:15 in hie-plugin-api-<IP_ADDRESS>-FstzkDwS3yHKVLg2PCWqHZ:Haskell.Ide.Engine.MonadFunctions
[Info  - 4:55:49 PM] Connection to server got closed. Server will restart.
hie: Must call withStdoutLogging or withStderrLogging
CallStack (from HasCallStack):
  error, called at ./Haskell/Ide/Engine/MonadFunctions.hs:73:15 in hie-plugin-api-<IP_ADDRESS>-FstzkDwS3yHKVLg2PCWqHZ:Haskell.Ide.Engine.MonadFunctions
[Error - 4:55:49 PM] Connection to server got closed. Server will not be restarted.

See https://github.com/haskell/haskell-ide-engine/pull/282


Could we have a minor update?

Great job with Mitt. We really enjoy using it. Our customers won't let us use a component that hasn't been updated in a year for fear that it's no being maintained. Do you think we can do just a minor readme update or something simple to get Mitt 3.0.1?
If the license were open we could fork it and maintain ourselves.

sorry, moving to discussion. Not an issue


Add helper & controller method #breadcrumb_names, with tests

Describe the change
This adds helper breadcrumb_names for views and corresponding method for controllers.
Why are we doing this?
Our site makes use of Loaf for breadcrumbs, but prior to this change didn't have any way to reuse that data for title attributes in the HTML. Using _breadcrumbs.last.name was helpful here, but we wanted to make this an 'official' public API rather than using the internal stuff.
Benefits
Other users can apply similar changes, or use the name(s) array in ways we haven't considered.
Drawbacks
Bloats the API by one method call.
Requirements
Put an X between brackets on each line if you have done the item:
[x] Tests written & passing locally?
[x] Code style checked?
[x] Rebased with master branch?
[x] Documentation updated?

I note Hound CI's complaints in the test additions, but as far as I can see I'm just copying the coding style (e.g. single quoted strings and indentation alignment of "=" etc.) therein. I can change everything to eliminate the warnings if you prefer.

Coverage increased (+0.08%) to 97.03% when pulling 4fce9d1dbf666a898de11229208e1b4a9f73b4ab on RIPGlobal:feature/public-access-to-crumbs into 6a8d586d3a49b4e524be425dee86d5def8eb79f1 on piotrmurach:master.

Thank you so much for this PR! I reviewed the changes and they seem reasonable. However, as a maintainer, I need to carefully consider changes/extensions to the current API. I like to keep things as minimal as possible.
As you mentioned in the drawbacks section this adds new API methods. The question is whether this library needs the new extension points. This gem is built predominantly for breadcrumbs rendering and using it for titles is a nice 'side effect' but not the core focus. Equally, the breadcrumb_trail returns an enumerator and it should be possible to do the following in a view:
breadcrumb_trail.map(&:name)

As for having this functionality in the controllers, I'm very sceptical of its utility. What do you reckon? Would changes to documentation suffice?

Hey both.
As a user of this library, I can see how this change makes it a little bit nicer to use. However, if I was a maintainer of this library - I would just advise to put this code in the ApplicationHelper, simply because it adds additional 75 lines of code, while it only saves 10 characters.
Even with this change I would still need to do some work, such as join the array with a symbol like Home > Library > Books, right? So personally I would just have something like this in my application helper and call it a day 🤷♂
module ApplicationHelper
  def breadcrumbs_for_title
    breadcrumb_trail.map(&:name).join(">")
  end
end

@dsazup Thanks! I added your example to the README.
@pond Having consider this PR carefully, I won't be merging the changes. I added documentation on how the breadcrumb names can be retrieved by chaining returned enumerator. I consider it a good compromise. It also turns out that having breadcrumb_names helper skips the translation lookup for titles and hence wouldn't be backwards compatible. Thank you for submitting this PR.

Ultimately I was after an "official" way to get at something for a title and the docs now show a good way to do it, so that seems fine to me.
Appreciate all the consideration and conversation from the contributors herein. Thanks!

@pond Thanks for your understanding. Released a new v0.10.0 version that should be ready for the Rails 6.1 release.


About Data publishing (MF-API)

I have a question about modifying the documentation.
Could you please provide details on the specific items and the content that
should be written in the code block for the Data publishing Provider?
For example, Maps lists two items: MapScript and WMSFacade.
We created a new file, “postgresql_mobilitydb.py”, in the Provider folder.
For the MF-API, I thought it would be correct to list MobilityDB, PyMEOS, and PostgreSQL.
Is that correct?
I think the code block example to be something like this:
  providers:
      - type: feature
        name: PostgreSQL
        data:
            host: <IP_ADDRESS>
            port: 5432
            db: mobilitydb
            user: docker
            password: docker

        table: collection,mfeature,tgeometry,tproperties

Describe the solution you'd like

Could you tell me the items to be listed for Data publishing?

Where should I refer to for the content of the provider in the code block?

Additional context

Regarding the code block, the providers for other APIs (e.g., maps) were written in the “pygeoapi-config.yml” file.

This issue is merged into the main branch by a pull request (#1)


Deprecate the RuntimeHandler field in SandboxInfo

A new field called runtime_handler has been added into the CRI PodSandboxStatus in https://github.com/kubernetes/kubernetes/pull/73833.
https://github.com/containerd/cri/pull/1063 adds RuntimeHandler into PodSandbox and PodSandboxStatus in cri-containerd.
The RuntimeHandler field in SandboxInfo will be deprecated after a grace period, should not be used in the new code.

We should put the deprecation announcement in the 1.3 release note, and then repurpose the issue to track the actual deprecation after that.

This is going to be included in https://github.com/containerd/containerd/pull/3492.


Prevent Initial AdLoaded & AdsImpression Events

When loading the MauiMTAdmob Sample application (with no changes), 2 events fire shortly after the Main page loads:

AdLoaded (shown in the Events stack as "MyAds_AdLoaded")
AdsImpression (shown in the Events stack as "MyAds_AdVImpression")

This results in an ad being displayed in the center of the page.
A short time later, these two events fire again, with a new ad, and again with a third... etc.
I would like to control when the ads appear.  How do we suppress or control these initial 2 events?  Are they on an unexposed timer somewhere?

Never mind.  I answered my own question.
The events were coming from the MyAds control, and removing it allows the fine-tuned event control I was seeking.  I'm still discovering!


Configure Hardware for Webhosting

Configure raspberry pi webserver to securely host my website. Research best practices to avoid a security vulnerability. Should be able to access basic angular starting page after configuration.

List of security precautions to take:

Acquire SSL Certificate for HTTPS connections
Create a DMZ and put local hardware inside it
Install a firewall on local hardware

Did the following while getting local hardware to host:

Update packages: sudo apt-get update
Install NodeJS: sudo apt-get install nodejs
Install NPM: sudo apt-get install npm
Install Angular: sudo npm install -g @angular/cli

At this point I found my node js version was too old. I updated it by doing the following:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

I am able to host an Angular server that is reachable via howardpearce.ca using the following command:

ng serve --host <IP_ADDRESS> --disable-host-check

I've set up a firewall using ufw. It is configured according to the following table:
 To                         Action      From
 --                         ------      ----

[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22                         ALLOW IN    Anywhere
[ 3] 80                         ALLOW IN    Anywhere
[ 4] 443                        ALLOW IN    Anywhere
[ 5] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 6] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 7] 80 (v6)                    ALLOW IN    Anywhere (v6)
[ 8] 443 (v6)                   ALLOW IN    Anywhere (v6)
[ 9] 4200 (v6)                  ALLOW IN    Anywhere (v6)

SSL Certificate will be handled at a later date when the portfolio can support it.

I am able to reach the portfolio while it's hosted on local hardware from my domain name (howardpearce.ca)


Split build and test steps

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

Project coverage is 58.54%. Comparing base (76af28c) to head (8375e10).

Additional details and impacted files
@@                       Coverage Diff                       @@
##             smola/simplify-path-handling     #100   +/-   ##
===============================================================
  Coverage                           58.54%   58.54%
  Complexity                            134      134
===============================================================
  Files                                  34       34
  Lines                                3459     3459
  Branches                              781      781
===============================================================
  Hits                                 2025     2025
  Misses                                900      900
  Partials                              534      534

Flag
Coverage Δ

helper
58.54% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


In Media3 Transformer add ability to set GL_FLOAT_VEC4 as uniform (for rgba values)

When filing a feature request:
[REQUIRED] Use case description
I would like to create a shader program extending BaseGlShaderProgram that accepts a vec4 uniform color. Currently I get java.lang.IllegalStateException: Unexpected uniform type: 35666.
Proposed solution
In GlProgram.java: GlProgram.Uniform.bind there should be a case for GL_FLOAT_VEC4.
Alternatives considered
We could go around the issue and extend GlShaderProgram (base of BaseGlShaderProgram) add a try catch for this case and set the uniform manually using the GLES20 api, but it would be much more convenient if this was supported by GlProgram)

Thanks for the report. I have a draft change to fix this and will link it after it's out


bugfix/metricStateMemory

bugfix: remove seen stores
bugfix: memory leaks and status handling
bugfix: refactor and tests
bugfix: more allocation & memory enhancments
bugfix: reduce permissions on authchecker and rewrite
bugfix: authchecker; add tests

Working on merging dev then we'll be in biz.


hard_assert in initialise_rand() when all perf counters in use

pico_rand will hard_assert when attempting to initialise_rand() if it is unable to find any bus fabric performance counters that are not in their reset state.

See
// PICO_CONFIG: PICO_RAND_ENTROPY_SRC_BUS_PERF_COUNTER, Enable/disable use of a bus performance counter as an entropy source, type=bool, default=1, group=pico_rand
#ifndef PICO_RAND_ENTROPY_SRC_BUS_PERF_COUNTER
#define PICO_RAND_ENTROPY_SRC_BUS_PERF_COUNTER 1
#endif

You can turn off use of a perf counter as an entropy source by setting PICO_RAND_ENTROPY_SRC_BUS_PERF_COUNTER=0 in your compile definitions


Fix typos

This PR fixes some typos: Acccumulate, represnting, and implictly.

Can one of the admins verify this patch?


CmdLine does not forwarding signals

Task name:
BashV3, CmdLineV2
Description:
Was added sending signals to the task child processes. (Need to trap SIGTERM signal in bash script)
Documentation changes required: (Y/N)
No
Added unit tests: (Y/N)
No
Attached related issue: (Y/N)
#11468
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

Please check if we need to apply changes for Powershell handler too

This problem is actual only for unix systems as Windows doesn't support POSIX signals and we can't send send specific signals from Bash and CmdLine tasks on windows, so the the changes for powershell handler is unnecessary.

Please check if we need to apply changes for Powershell handler too

@damccorm Could you please take a look this pr?


Update E3.2 - Java Classes (Inheritance).md

Add example of static polymorphism as seen during the lesson

Thank you!


errNum=13 errorCode=16

Hi there,
I have both aria2-pro and aria-NG with a gluetun VPN connection inside a docker stack and everything was working fine. (it was a great experience, so thank you first of all.)
But I'm not able to download anything with my Aria2 downloader anymore and I have no idea why.
here is the Log.

09/03 14:27:45 [NOTICE] Serialized session to '/config/aria2.session' successfully.
09/03 14:27:45 [ERROR] CUID#66 - Download aborted. URI=https://url.that.i.want.to.download/download/2/3/35324/1408468/308754/2606:40:8bf7:19::62:3552/1696333985/308cff971183ea6b1d115c51bbff104e68030994b7/movies/b/movie.that.I.want.to.download.mkv
Exception: [AbstractCommand.cc:403] errorCode=16 URI=https://url.that.i.want.to.download/download/2/3/35324/1408468/308754/2606:40:8bf7:19::62:3552/1696333985/308cff971183ea6b1d115c51bbff104e68030994b7/movies/b/movie.that.I.want.to.download.mkv
-> [RequestGroup.cc:761] errorCode=16 Download aborted.
-> [AbstractDiskWriter.cc:221] errNum=13 errorCode=16 Failed to open the file /downloads/movie.that.I.want.to.download.mkv, cause: Permission denied
09/03 14:27:45 [NOTICE] Download GID#885feb9b2f3e444d not complete: /downloads/movie.that.I.want.to.download.mkv
09/03 14:27:46 [WARRING] Skip delete. File does not exist: /downloads/movie.that.I.want.to.download.mkv
09/03 14:27:46 [INFO] General download task, skipped delete .torrent file.
09/03 14:27:46 [INFO] Deleting empty directory ...
[#932007 0B/0B CN:1 DL:0B]
09/03 14:28:46 [NOTICE] Serialized session to '/config/aria2.session' successfully.
09/03 14:28:47 [ERROR] CUID#68 - Download aborted. URI=https://url.that.i.want.to.download/download/2/3/35324/1408468/308754/2606:40:8bf7:19::62:3552/1696333985/308cff971183ea6b1d115c51bbff104e68030994b7/movies/b/movie.that.I.want.to.download.mkv
Exception: [AbstractCommand.cc:403] errorCode=16 URI=https://url.that.i.want.to.download/download/2/3/35324/1408468/308754/2606:40:8bf7:19::62:3552/1696333985/308cff971183ea6b1d115c51bbff104e68030994b7/movies/b/movie.that.I.want.to.download.mkv
-> [RequestGroup.cc:761] errorCode=16 Download aborted.
-> [AbstractDiskWriter.cc:221] errNum=13 errorCode=16 Failed to open the file /downloads/movie.that.I.want.to.download.mkv, cause: Permission denied
09/03 14:28:47 [NOTICE] Download GID#93200743c060fee3 not complete: /downloads/movie.that.I.want.to.download.mkv
09/03 14:28:47 [WARRING] Skip delete. File does not exist: /downloads/movie.that.I.want.to.download.mkv
09/03 14:28:47 [INFO] General download task, skipped delete .torrent file.
09/03 14:28:47 [INFO] Deleting empty directory ...

I guess the container has no permission to write to my hard disk, is that right?
It is mounted as a Samba share and Samba is still working and available on the machine running the Docker engine.
Why would this happen all of a sudden? :((

the owner of the download directory was changed to root and that caused the problem.
Since the containers are deployed with uid and gid 1000 (not root)


Adds a fully functional engine + completes code of incomplete classes.

Adds game engine + completes unfinished classes needed for it to run.

Tests are to be added in a separate PR

@ernestmc I addressed the comments, besides two of them that maybe are worth a new PR?

Changing the prey idea to ants/doodlebugs
Input number of bugs through command line and/or file

I wonder if we'll have time go get those two features in.

The suggested features do not need to be implemented. They are for future improvement.


bump C-S-S for Duck Player

Please review the release process for BrowserServicesKit here.
Required:
Task/Issue URL: https://app.asana.com/0/0/1204856014237530/f
iOS PR: https://github.com/duckduckgo/iOS/pull/1790
macOS PR: https://github.com/duckduckgo/macos-browser/pull/1153
What kind of version bump will this require?: Minor
Description:
Use latest C-S-S, which includes Duck Player for macOS

Steps to test this PR:

Follow the testing steps in the macOS PR: https://github.com/duckduckgo/macos-browser/pull/1153

OS Testing:

[ ] iOS 14
[ ] iOS 15
[ ] iOS 16
[ ] macOS 10.15
[ ] macOS 11
[ ] macOS 12

Internal references:
Software Engineering Expectations
Technical Design Template

Current dependencies on/for this PR:

main

PR #385   👈

This comment was auto-generated by Graphite.

CC: @jonathanKingston this gets C-S-S to 4.21.1 too 🔥


Responsive table

Is there a way to use the default bootstrap table-responsive?
I've tried to add the class to the  containerClass, but without success!

currently, we dont support this kind of this feature, I'll try to support it in the future. thanks, but close it due to duplicated with #823


feat: create athena profile

Adding dbt profile for athena based on https://github.com/dbt-athena/dbt-athena

Thanks @MindaugasN!
Might be worth adding a dbt-athena plugin to the Hub: https://github.com/meltano/hub/tree/main/_data/meltano/utilities

@edgarrmondragon would you add or should I?
If I, is adding single .yml file enough?


Updated sample code to reference the renamed xPhpProvison resource

Fixes #5

This change is

�userNameNotUsed�
There are a bunch of messed up chars in these two files now. It looks like these were the wrong kind of quote characters before and then something happened with the encoding and now they can't be decoded.
If you copy the 'unknown' char you can Ctrl-F and replace it super easily.

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Thanks very much for catching these. PR updated.

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

PR updated. I've inclued fixes for issue #7 and changed the MySQL version number to the currently latest.

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Getting Exhausted available authentication methods

Description
It was working fine until some weeks ago it just stopped connecting. I updated to lates version it still wouldn't connect.
It just keeps saying Exhausted available authentication methods
Logfile:
logfiledb.log
DBeaver Version
version 23.2.2
Operating System
macOS Ventura v13.4.1
Database and driver
Database : Mysql 8
driver mysql
Steps to reproduce
No response
Additional context
No response

Hello @sladejnr,
You can try downgrading to an older version of DBeaver to see if the issue still happens there. If so, please contact your system administrator because it seems that your SSH password/key was changed.

I got the new key. It works now. Thank you


Split find into find and decode

Fix issue with find command requiring data, by splitting the decode and find (by service name) functionalities
into separate commands.

okay, looks good to me now. A small thing which I've noticed while playing with it: if the data is specified using an illegal format (e.g. -d "3e:00"), odxtools decode only bails out after it has parsed the PDX file, which can take a few seconds. It would probably be good to reverse this order because parsing the data is basically instantaneous...

fixed, I also remove all non-hex-chars from the string, to be more fault-tolerant to the input

ok, thanks! merging.


Make error/warning check less strict?

Currently some deployments fail as list_util has changed take/3 argument order and emits a warning:
take(List,N,Front) argument order is deprecated. Use take(N,List,Front) instead.

The strict error checking has been removed from the current master. This has to be re-enabled (but only for load-time errors) through custom code that is executed before the framework is loaded.

Related issue #132

Closing. The load-time error checking is implemented in the example project.


[6.x] Cache & discover observers similar to caching events & listeners

This PR implements caching behavior & discovery for observers, similar as already available for events & listeners. The gains are straightforward I guess.
The $observe property in EventServiceProvider expects the following format:
protected $observe = [
    User::class => [
        UserObserver::class,
        AnotherUserObserver::class,
    ],

    AnotherModel::class => [],
];

Discovery of observers scans all public methods for a type-hinted Model parameter to guess the observable model. If none is found, then the class is skipped.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Plugins should only generate code into the host app when necessary

Rationale: generated code leads to maintenance issue when upgrading plugin versions, or versions of Hyrax. Keeping plugin code in the plugin's gem location is a more maintainable solution, so if a file does  not have to be copied into the host app, then don't.
Done when guideline is accepted, or rejected.

@projecthydra-labs/hydra_file_sets_wg thoughts?

@projecthydra-labs/hydra_plugins_wg specifically, how should this guideline be worded? I think "when necessary" is a little too vague.

To some extent this amounts to "use good judgement and taste" which is a hard thing to codify precisely.
Would it help to enumerate (non-exhaustively) some reasons where it might be necessary, and some common examples of where we see it happening that maybe aren't necessary?

@mbarnett I'm wondering if there is a way to word it to be more specific than simply  "use good judgement".
Thinking about it a bit more, and after talking with @eliotjordan, I think the tendency to copy config into the host app stems from the expectation that the user will want to alter the config in some way.
This is fine, however, a lot of times the situation is this: the implementer is required to change about 2% of the configuration (i.e. specifying API keys, or session secrets, etc) while the remaining 98% of config will work with default values.
What I see a lot of gems and engines do (including Rails, Devise, RSpec, etc) is that they will generate a mostly passive config file into your host app, and direct you (with code comments and documentation) which config options the user needs to change.
I don't mind this approach. It doesn't completely eliminate the problem with upgrades, but it's much cleaner than have a single location for plugin config, which is copied to the host app after running the install generator, which is the situation we found in GeoConcerns, and the primary one I think our guidelines should try to prevent.


Log in with Google

Summary
Allowed users to create an account and sign-in using the 'Continue with Google' button. The flow is the same regardless of whether they are using Google to log in for the first time or they are a returning user.
Testing
Manually tested by using my personal Google account. Made sure that in both cases (first time signing in vs. returning user), continue with Google worked as expected (creating a user in the local database in the former case). Also used console.log to ensure that the created firebase user had emailVerified already set to true.
Notes
I was having issues using the react-firebase-hooks useSignInWithGoogle hook, as the googleUser object returned by the hook was always undefined. Instead, I followed the official firebase documentation. While the flow seems fine for now, there is a possibility that there are errors I couldn't account for.
Closes #236

Thinking about potential issues:

User creates email/password account then Google account. No issue here, the Google account automatically links to the email/password account in Firebase. ISSUE: "Your account already exists. Please log in using your email and password." error never triggers. Consider removing? Having an automatic link is desired behavior imo.
User creates Google account thatn email/password account. Resetting their password is the only way to change their password (to create an email/password account), and doing so also replaces their Google account in Firebase with email/password. But no user-facing issue, because signing into Google automatically links their accounts again. So maybe a non-issue?


Add something similar to functional scan list operation

Added scan as a property of reduce with this commit. A demo example for running sum is also added to demoReduce file.


Resource group required before using this module

This module requires a resource group to be created beforehand, making it unusable in a single project.
https://github.com/F5Networks/terraform-azure-bigip-module/blob/main/main.tf#L190
 Error: Error: Resource Group "network-lab" was not found
│
│   with module.bigip[0].data.azurerm_resource_group.bigiprg,
│   on .terraform/modules/bigip/main.tf line 190, in data "azurerm_resource_group" "bigiprg":
│  190: data "azurerm_resource_group" "bigiprg" {

Hi,
Thanks for reporting. Added to the backlog and internal tracking ID for this request is: INFRAANO-1361.

Hi @minsis,
Have you tried the following example?
https://github.com/F5Networks/terraform-azure-bigip-module/blob/main/examples/bigip_azure_1nic_deploy/main.tf

As you said, the resource group has to be created. So the examples don’t work.
The module doesn’t work unless the resource group is created which prevents you from being able to build an entire resource group with everything in it as a single project. Meaning in order to utilize this you would need to create two separate projects to be able to build out your stuff.
You probably don’t need the requirement but instead just ask for the resource group name and location. That way you won’t need to do a data lookup but instead rely on terraform’s planning to deal with it.

Hi @minsis,
In example provided we are creating Resource Group(https://github.com/F5Networks/terraform-azure-bigip-module/blob/main/examples/bigip_azure_1nic_deploy/main.tf#L14-L19)
and referencing it to module as here (https://github.com/F5Networks/terraform-azure-bigip-module/blob/main/examples/bigip_azure_1nic_deploy/main.tf#L30-L40)
It was created with the intention there might be existed RG and networks, we can make use of these RG and networks to deploy  instance.
can you please run through example and let me know if you see any problem there. example take care of creating RG and referencing it to module as input.

Even in the example the resource group has to be created first before passing the name in. This is due to terraforms planning phase.
If this was a fresh run the planning stage fails because the module is doing a data lookup to get the resource information, but obviously it can’t because the resource group hasn’t even been created yet.

Hi @minsis
I don't see any issue for running example:
➜  bigip_azure_1nic_deploy git:(main) ✗ terraform apply
module.bigip[0].data.azurerm_subscription.current: Reading...
module.bigip[0].data.azurerm_client_config.current: Reading...
module.bigip[0].data.azurerm_client_config.current: Read complete after 0s [id=Y2xpZW50Q29uZmlncy9jbGllbnRJZD0wNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDY7b2JqZWN0SWQ9MmRkZjNmMDUtY2UxYy00MGMwLWFmMjktYTlhMGM4NzBjNTIzO3N1YnNjcmlwdGlvbklkPWQzMWU0ZTU0LTc1NzctNGY0My1iNDA3LWJhZTZjYzBmNGY1NTt0ZW5hbnRJZD1kMTA2ODcxZS03YjkxLTQ3MzMtODQyMy1mOTg1ODYzMDNiNjg=]
module.bigip[0].data.azurerm_subscription.current: Read complete after 0s [id=/subscriptions/d31e4e54-7577-4f43-b407-bae6cc0f4f55]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # data.azurerm_subnet.mgmt will be read during apply
  # (config refers to values not yet known)
 <= data "azurerm_subnet" "mgmt" {
      + address_prefix                                 = (known after apply)
      + address_prefixes                               = (known after apply)
      + enforce_private_link_endpoint_network_policies = (known after apply)
      + enforce_private_link_service_network_policies  = (known after apply)
      + id                                             = (known after apply)
      + name                                           = "mgmt-subnet"
      + network_security_group_id                      = (known after apply)
      + private_endpoint_network_policies_enabled      = (known after apply)
      + private_link_service_network_policies_enabled  = (known after apply)
      + resource_group_name                            = (known after apply)
      + route_table_id                                 = (known after apply)
      + service_endpoints                              = (known after apply)
      + virtual_network_name                           = (known after apply)
    }

  # azurerm_network_security_rule.mgmt_allow_http will be created
  + resource "azurerm_network_security_rule" "mgmt_allow_http" {
      + access                      = "Allow"
      + destination_address_prefix  = "*"
      + destination_port_range      = "80"
      + direction                   = "Inbound"
      + id                          = (known after apply)
      + name                        = "Allow_Http"
      + network_security_group_name = (known after apply)
      + priority                    = 201
      + protocol                    = "Tcp"
      + resource_group_name         = (known after apply)
      + source_address_prefixes     = [
          + "<IP_ADDRESS>/0",
        ]
      + source_port_range           = "*"
    }

  # azurerm_network_security_rule.mgmt_allow_https will be created
  + resource "azurerm_network_security_rule" "mgmt_allow_https" {
      + access                      = "Allow"
      + destination_address_prefix  = "*"
      + destination_port_range      = "8443"
      + direction                   = "Inbound"
      + id                          = (known after apply)
      + name                        = "Allow_Https"
      + network_security_group_name = (known after apply)
      + priority                    = 200
      + protocol                    = "Tcp"
      + resource_group_name         = (known after apply)
      + source_address_prefixes     = [
          + "<IP_ADDRESS>/0",
        ]
      + source_port_range           = "*"
    }

  # azurerm_network_security_rule.mgmt_allow_ssh will be created
  + resource "azurerm_network_security_rule" "mgmt_allow_ssh" {
      + access                      = "Allow"
      + destination_address_prefix  = "*"
      + destination_port_range      = "22"
      + direction                   = "Inbound"
      + id                          = (known after apply)
      + name                        = "Allow_ssh"
      + network_security_group_name = (known after apply)
      + priority                    = 202
      + protocol                    = "Tcp"
      + resource_group_name         = (known after apply)
      + source_address_prefixes     = [
          + "<IP_ADDRESS>/0",
        ]
      + source_port_range           = "*"
    }

  # azurerm_resource_group.rg will be created
  + resource "azurerm_resource_group" "rg" {
      + id       = (known after apply)
      + location = "eastus"
      + name     = (known after apply)
    }

  # azurerm_ssh_public_key.f5_key will be created
  + resource "azurerm_ssh_public_key" "f5_key" {
      + id                  = (known after apply)
      + location            = "eastus"
      + name                = (known after apply)
      + public_key          = <<-EOT
            ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC65CYwTigMlzqll/1z3yQ0Yvpl27oGsXSXqTh4g2o3hPhFugxGFODjuQeZpF/1ywuG9Pcg2OCiP2vwjcyjcrOH/Sob6XufbPjnKLqi2cMFdav3LbaGE4p4eprzR0UIIVJFwB/SFGHeIJu5VgR2GPDbg3lwF+ZYKiBP4K/UJvuKAT9t0fesXeZeKaHyHNZCpl9ltGW16qivyoeMXavI5z3c3bjYOrCXOI3A2MQQJ3p7DBN3mP8es/lpKoCF7oPya5BnB125otQ3e5j9stX79LBtB5w7iQRXKUtM+ZaqhQCgKprIe+pnw33zJ08ta130nnbZqWgPUXGtCHDJ5dZV7Ggz0uHEB71ARFWHGpCdvJAKa46jQGWJC06sydP7zVNJbwWmuVcngxkpaKQ+O5v1M0WztI/7RfOxGrQQOCVs5r4zinvw+CmDQ7AhYqHrvlh4iR/yWhrayPpUlk6cxbqW1bRqxP04SoNroP6RHWbhYEd+b/dqPtR6yVVcUDaiC7mPd9ifitX4q+mc0cb182thZtsWhJ7jzkwu5KytpViT7BEn5mTt6cv/yIEd/9HIBB9cFGf8Mc2dsR++Z1GEQqyBeyjH5NmnoZnc9P/8NSEv0wtQUEGFo5LLAnxt7nego9IRjGzYRUgql30mQTc3gGc/fmQnlouqSKJVYSPP+BrYJAw/tw== r.chinthalapalli@JP27H964T7
        EOT
      + resource_group_name = (known after apply)
    }

  # null_resource.clusterDO[0] will be created
  + resource "null_resource" "clusterDO" {
      + id = (known after apply)
    }

  # random_id.id will be created
  + resource "random_id" "id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 2
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

  # module.bigip[0].data.azurerm_resource_group.bigiprg will be read during apply
  # (config refers to values not yet known)
 <= data "azurerm_resource_group" "bigiprg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = (known after apply)
      + tags       = (known after apply)
    }

  # module.bigip[0].azurerm_linux_virtual_machine.f5vm01 will be created
  + resource "azurerm_linux_virtual_machine" "f5vm01" {
      + admin_password                  = (sensitive value)
      + admin_username                  = "bigipuser"
      + allow_extension_operations      = true
      + computer_name                   = (known after apply)
      + custom_data                     = (sensitive value)
      + disable_password_authentication = false
      + extensions_time_budget          = "PT1H30M"
      + id                              = (known after apply)
      + location                        = (known after apply)
      + max_bid_price                   = -1
      + name                            = (known after apply)
      + network_interface_ids           = (known after apply)
      + patch_assessment_mode           = "ImageDefault"
      + patch_mode                      = "ImageDefault"
      + platform_fault_domain           = -1
      + priority                        = "Regular"
      + private_ip_address              = (known after apply)
      + private_ip_addresses            = (known after apply)
      + provision_vm_agent              = true
      + public_ip_address               = (known after apply)
      + public_ip_addresses             = (known after apply)
      + resource_group_name             = (known after apply)
      + size                            = "Standard_D8s_v4"
      + tags                            = (known after apply)
      + virtual_machine_id              = (known after apply)
      + zone                            = "1"

      + admin_ssh_key {
          + public_key = <<-EOT
                ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC65CYwTigMlzqll/1z3yQ0Yvpl27oGsXSXqTh4g2o3hPhFugxGFODjuQeZpF/1ywuG9Pcg2OCiP2vwjcyjcrOH/Sob6XufbPjnKLqi2cMFdav3LbaGE4p4eprzR0UIIVJFwB/SFGHeIJu5VgR2GPDbg3lwF+ZYKiBP4K/UJvuKAT9t0fesXeZeKaHyHNZCpl9ltGW16qivyoeMXavI5z3c3bjYOrCXOI3A2MQQJ3p7DBN3mP8es/lpKoCF7oPya5BnB125otQ3e5j9stX79LBtB5w7iQRXKUtM+ZaqhQCgKprIe+pnw33zJ08ta130nnbZqWgPUXGtCHDJ5dZV7Ggz0uHEB71ARFWHGpCdvJAKa46jQGWJC06sydP7zVNJbwWmuVcngxkpaKQ+O5v1M0WztI/7RfOxGrQQOCVs5r4zinvw+CmDQ7AhYqHrvlh4iR/yWhrayPpUlk6cxbqW1bRqxP04SoNroP6RHWbhYEd+b/dqPtR6yVVcUDaiC7mPd9ifitX4q+mc0cb182thZtsWhJ7jzkwu5KytpViT7BEn5mTt6cv/yIEd/9HIBB9cFGf8Mc2dsR++Z1GEQqyBeyjH5NmnoZnc9P/8NSEv0wtQUEGFo5LLAnxt7nego9IRjGzYRUgql30mQTc3gGc/fmQnlouqSKJVYSPP+BrYJAw/tw== r.chinthalapalli@JP27H964T7
            EOT
          + username   = "bigipuser"
        }

      + identity {
          + identity_ids = (known after apply)
          + principal_id = (known after apply)
          + tenant_id    = (known after apply)
          + type         = "UserAssigned"
        }

      + os_disk {
          + caching                   = "ReadWrite"
          + disk_size_gb              = 84
          + name                      = (known after apply)
          + storage_account_type      = "Standard_LRS"
          + write_accelerator_enabled = false
        }

      + plan {
          + name      = "f5-big-best-plus-hourly-25mbps"
          + product   = "f5-big-ip-best"
          + publisher = "f5-networks"
        }

      + source_image_reference {
          + offer     = "f5-big-ip-best"
          + publisher = "f5-networks"
          + sku       = "f5-big-best-plus-hourly-25mbps"
          + version   = "latest"
        }
    }

  # module.bigip[0].azurerm_network_interface.mgmt_nic[0] will be created
  + resource "azurerm_network_interface" "mgmt_nic" {
      + applied_dns_servers           = (known after apply)
      + dns_servers                   = (known after apply)
      + enable_accelerated_networking = false
      + enable_ip_forwarding          = false
      + id                            = (known after apply)
      + internal_dns_name_label       = (known after apply)
      + internal_domain_name_suffix   = (known after apply)
      + location                      = (known after apply)
      + mac_address                   = (known after apply)
      + name                          = (known after apply)
      + private_ip_address            = (known after apply)
      + private_ip_addresses          = (known after apply)
      + resource_group_name           = (known after apply)
      + tags                          = (known after apply)
      + virtual_machine_id            = (known after apply)

      + ip_configuration {
          + gateway_load_balancer_frontend_ip_configuration_id = (known after apply)
          + name                                               = (known after apply)
          + primary                                            = (known after apply)
          + private_ip_address                                 = (known after apply)
          + private_ip_address_allocation                      = "Dynamic"
          + private_ip_address_version                         = "IPv4"
          + public_ip_address_id                               = (known after apply)
          + subnet_id                                          = (known after apply)
        }
    }

  # module.bigip[0].azurerm_network_interface_security_group_association.mgmt_security[0] will be created
  + resource "azurerm_network_interface_security_group_association" "mgmt_security" {
      + id                        = (known after apply)
      + network_interface_id      = (known after apply)
      + network_security_group_id = (known after apply)
    }

  # module.bigip[0].azurerm_public_ip.mgmt_public_ip[0] will be created
  + resource "azurerm_public_ip" "mgmt_public_ip" {
      + allocation_method       = "Static"
      + ddos_protection_mode    = "VirtualNetworkInherited"
      + domain_name_label       = (known after apply)
      + fqdn                    = (known after apply)
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + ip_address              = (known after apply)
      + ip_version              = "IPv4"
      + location                = (known after apply)
      + name                    = (known after apply)
      + resource_group_name     = (known after apply)
      + sku                     = "Standard"
      + sku_tier                = "Regional"
      + tags                    = (known after apply)
    }

  # module.bigip[0].azurerm_user_assigned_identity.user_identity[0] will be created
  + resource "azurerm_user_assigned_identity" "user_identity" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = (known after apply)
      + principal_id        = (known after apply)
      + resource_group_name = (known after apply)
      + tags                = (known after apply)
      + tenant_id           = (known after apply)
    }

  # module.bigip[0].azurerm_virtual_machine_extension.vmext will be created
  + resource "azurerm_virtual_machine_extension" "vmext" {
      + failure_suppression_enabled = false
      + id                          = (known after apply)
      + name                        = (known after apply)
      + publisher                   = "Microsoft.Azure.Extensions"
      + settings                    = <<-EOT
            {
                  "commandToExecute": "bash /var/lib/waagent/CustomData; exit 0;"
                }
        EOT
      + tags                        = (known after apply)
      + type                        = "CustomScript"
      + type_handler_version        = "2.0"
      + virtual_machine_id          = (known after apply)
    }

  # module.bigip[0].random_id.module_id will be created
  + resource "random_id" "module_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 2
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

  # module.bigip[0].random_string.password will be created
  + resource "random_string" "password" {
      + id          = (known after apply)
      + length      = 16
      + lower       = true
      + min_lower   = 1
      + min_numeric = 1
      + min_special = 0
      + min_upper   = 1
      + number      = true
      + numeric     = true
      + result      = (known after apply)
      + special     = false
      + upper       = true
    }

  # module.bigip[0].time_sleep.wait_for_azurerm_virtual_machine_f5vm will be created
  + resource "time_sleep" "wait_for_azurerm_virtual_machine_f5vm" {
      + create_duration = "300s"
      + id              = (known after apply)
    }

  # module.mgmt-network-security-group.data.azurerm_resource_group.nsg will be read during apply
  # (config refers to values not yet known)
 <= data "azurerm_resource_group" "nsg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = (known after apply)
      + tags       = (known after apply)
    }

  # module.mgmt-network-security-group.azurerm_network_security_group.nsg will be created
  + resource "azurerm_network_security_group" "nsg" {
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = (known after apply)
      + resource_group_name = (known after apply)
      + security_rule       = (known after apply)
      + tags                = {
          + "costcenter"  = "terraform"
          + "environment" = "dev"
        }
    }

  # module.network.azurerm_subnet.subnet[0] will be created
  + resource "azurerm_subnet" "subnet" {
      + address_prefixes                               = [
          + "<IP_ADDRESS>/24",
        ]
      + enforce_private_link_endpoint_network_policies = false
      + enforce_private_link_service_network_policies  = false
      + id                                             = (known after apply)
      + name                                           = "mgmt-subnet"
      + private_endpoint_network_policies_enabled      = (known after apply)
      + private_link_service_network_policies_enabled  = (known after apply)
      + resource_group_name                            = (known after apply)
      + virtual_network_name                           = (known after apply)
    }

  # module.network.azurerm_virtual_network.vnet will be created
  + resource "azurerm_virtual_network" "vnet" {
      + address_space       = [
          + "<IP_ADDRESS>/16",
        ]
      + dns_servers         = []
      + guid                = (known after apply)
      + id                  = (known after apply)
      + location            = "eastus"
      + name                = (known after apply)
      + resource_group_name = (known after apply)
      + subnet              = (known after apply)
      + tags                = {
          + "costcenter"  = "it"
          + "environment" = "dev"
        }
    }

Plan: 19 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + bigip_instance_ids = [
      + (known after apply),
    ]
  + bigip_password     = [
      + (known after apply),
    ]
  + bigip_username     = [
      + "bigipuser",
    ]
  + mgmtPort           = [
      + "8443",
    ]
  + mgmtPublicDNS      = [
      + (known after apply),
    ]
  + mgmtPublicIP       = [
      + (known after apply),
    ]
  + mgmtPublicURL      = [
      + (known after apply),
    ]
  + private_addresses  = [
      + {
          + external_private = {
              + private_ip  = []
              + private_ips = []
            }
          + internal_private = {
              + private_ip  = []
              + private_ips = []
            }
          + mgmt_private     = {
              + private_ip  = [
                  + (known after apply),
                ]
              + private_ips = [
                  + (known after apply),
                ]
            }
          + public_private   = {
              + private_ip  = []
              + private_ips = []
            }
        },
    ]
  + public_addresses   = [
      + {
          + external_primary_public   = []
          + external_secondary_public = []
        },
    ]
  + resourcegroup_name = (known after apply)
╷
│ Warning: Argument is deprecated
│
│   with module.network.azurerm_subnet.subnet[0],
│   on .terraform/modules/network/main.tf line 26, in resource "azurerm_subnet" "subnet":
│   26:   enforce_private_link_endpoint_network_policies = lookup(var.subnet_enforce_private_link_endpoint_network_policies, var.subnet_names[count.index], false)
│
│ `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider
│
│ (and one more similar warning elsewhere)
╵

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value:

here is usage of module
module "bigip" {
  count  = var.instance_count
  source = "F5Networks/bigip-module/azure"
  # source                      = "../../"
  prefix                      = format("%s-1nic", var.prefix)
  resource_group_name         = azurerm_resource_group.rg.name
  f5_ssh_publickey            = azurerm_ssh_public_key.f5_key.public_key
  mgmt_subnet_ids             = [{ "subnet_id" = data.azurerm_subnet.mgmt.id, "public_ip" = true, "private_ip_primary" = "" }]
  mgmt_securitygroup_ids      = [module.mgmt-network-security-group.network_security_group_id]
  availability_zone           = var.availability_zone
  availabilityZones_public_ip = var.availabilityZones_public_ip
}

hi @minsis,
you don't need data source here for referring data group.
module "bigip" {
  count  = var.instance_count
  source = "F5Networks/bigip-module/azure"
  # source                      = "../../"
  prefix                      = format("%s-1nic", var.prefix)
  resource_group_name         = azurerm_resource_group.rg.name
  f5_ssh_publickey            = azurerm_ssh_public_key.f5_key.public_key
  mgmt_subnet_ids             = [{ "subnet_id" = data.azurerm_subnet.mgmt.id, "public_ip" = true, "private_ip_primary" = "" }]
  mgmt_securitygroup_ids      = [module.mgmt-network-security-group.network_security_group_id]
  availability_zone           = var.availability_zone
  availabilityZones_public_ip = var.availabilityZones_public_ip
}

Here's a very simple example of whats happening here.
resource "azurerm_resource_group" "example" {
  name     = "example"
  location = "West Europe"
}

data "azurerm_resource_group" "example" {
  name = "example"
}

So here you can see that it knows it needs to create a resource group, but I can't do a data look up on said resource because it doesn't exist yet.
tf-test $ tf plan
data.azurerm_resource_group.example: Reading...

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform planned the following actions, but then encountered a problem:

  # azurerm_resource_group.example will be created
  + resource "azurerm_resource_group" "example" {
      + id       = (known after apply)
      + location = "westeurope"
      + name     = "example"
    }

Plan: 1 to add, 0 to change, 0 to destroy.
╷
│ Error: Error: Resource Group "example" was not found
│
│   with data.azurerm_resource_group.example,
│   on main.tf line 6, in data "azurerm_resource_group" "example":
│    6: data "azurerm_resource_group" "example" {
│
╵

Now, I can get around this by setting a dependency on it:
resource "azurerm_resource_group" "example" {
  name     = "example"
  location = "West Europe"
}

data "azurerm_resource_group" "example" {
  name = "example"
  depends_on = [ azurerm_resource_group.example ]
}

Which works nicely:
tf-test $ tf plan

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # data.azurerm_resource_group.example will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "example" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "example"
      + tags       = (known after apply)
    }

  # azurerm_resource_group.example will be created
  + resource "azurerm_resource_group" "example" {
      + id       = (known after apply)
      + location = "westeurope"
      + name     = "example"
    }

Plan: 1 to add, 0 to change, 0 to destroy.

However, because the data look up is in the module, I can't force this. I have tried to put the dependancy on the module itself when declared but this still didn't work.

Hi @minsis you don't need of data source here for pointing RG to module, as I mentioned in my previous comment.
resource "azurerm_resource_group" "example" {
  name     = "example"
  location = "West Europe"
}

module "bigip" {
  count  = var.instance_count
  source = "F5Networks/bigip-module/azure"
  prefix                      = format("%s-1nic", var.prefix)
  resource_group_name         = azurerm_resource_group.example.name
  f5_ssh_publickey            = azurerm_ssh_public_key.f5_key.public_key
  mgmt_subnet_ids             = [{ "subnet_id" = data.azurerm_subnet.mgmt.id, "public_ip" = true, "private_ip_primary" = "" }]
  mgmt_securitygroup_ids      = [module.mgmt-network-security-group.network_security_group_id]
  availability_zone           = var.availability_zone
  availabilityZones_public_ip = var.availabilityZones_public_ip
}

I dont know why its successful for you but failing for me. The error output given in my OP was exactly from the referenced example.

Hi @minsis
just copy below code in main.tf and run it by providing required inputs. and let me know if you still see issue
provider "azurerm" {
  //  version = "~>2.0"
  features {}
}

#
# Create a random id
#
resource "random_id" "id" {
  byte_length = 2
}

#
# Create a resource group
#
resource "azurerm_resource_group" "rg" {
  name     = format("%s-rg-%s", var.prefix, random_id.id.hex)
  location = var.location
}

resource "azurerm_ssh_public_key" "f5_key" {
  name                = format("%s-pubkey-%s", var.prefix, random_id.id.hex)
  resource_group_name = azurerm_resource_group.rg.name
  location            = azurerm_resource_group.rg.location
  public_key          = file("~/.ssh/id_rsa.pub")
}
#
#Create N-nic bigip
#
module "bigip" {
  count  = var.instance_count
  source = "F5Networks/bigip-module/azure"
  # source                      = "../../"
  prefix                      = format("%s-1nic", var.prefix)
  resource_group_name         = azurerm_resource_group.rg.name
  f5_ssh_publickey            = azurerm_ssh_public_key.f5_key.public_key
  mgmt_subnet_ids             = [{ "subnet_id" = data.azurerm_subnet.mgmt.id, "public_ip" = true, "private_ip_primary" = "" }]
  mgmt_securitygroup_ids      = [module.mgmt-network-security-group.network_security_group_id]
  availability_zone           = var.availability_zone
  availabilityZones_public_ip = var.availabilityZones_public_ip
}

#
# Create the Network Module to associate with BIGIP
#

module "network" {
  source              = "Azure/vnet/azurerm"
  version             = "3.0.0"
  vnet_name           = format("%s-vnet-%s", var.prefix, random_id.id.hex)
  resource_group_name = azurerm_resource_group.rg.name
  vnet_location       = var.location
  address_space       = [var.cidr]
  subnet_prefixes     = [cidrsubnet(var.cidr, 8, 1)]
  subnet_names        = ["mgmt-subnet"]

  tags = {
    environment = "dev"
    costcenter  = "it"
  }
}

data "azurerm_subnet" "mgmt" {
  name                 = "mgmt-subnet"
  virtual_network_name = module.network.vnet_name
  resource_group_name  = azurerm_resource_group.rg.name
  depends_on           = [module.network]
}

#
# Create the Network Security group Module to associate with BIGIP-Mgmt-Nic
#
module "mgmt-network-security-group" {
  source              = "Azure/network-security-group/azurerm"
  resource_group_name = azurerm_resource_group.rg.name
  security_group_name = format("%s-mgmt-nsg-%s", var.prefix, random_id.id.hex)
  tags = {
    environment = "dev"
    costcenter  = "terraform"
  }
}

resource "azurerm_network_security_rule" "mgmt_allow_https" {
  name                        = "Allow_Https"
  priority                    = 200
  direction                   = "Inbound"
  access                      = "Allow"
  protocol                    = "Tcp"
  source_port_range           = "*"
  destination_port_range      = "8443"
  destination_address_prefix  = "*"
  source_address_prefixes     = var.AllowedIPs
  resource_group_name         = azurerm_resource_group.rg.name
  network_security_group_name = format("%s-mgmt-nsg-%s", var.prefix, random_id.id.hex)
  depends_on                  = [module.mgmt-network-security-group]
}
resource "azurerm_network_security_rule" "mgmt_allow_http" {
  name                        = "Allow_Http"
  priority                    = 201
  direction                   = "Inbound"
  access                      = "Allow"
  protocol                    = "Tcp"
  source_port_range           = "*"
  destination_port_range      = "80"
  destination_address_prefix  = "*"
  source_address_prefixes     = var.AllowedIPs
  resource_group_name         = azurerm_resource_group.rg.name
  network_security_group_name = format("%s-mgmt-nsg-%s", var.prefix, random_id.id.hex)
  depends_on                  = [module.mgmt-network-security-group]
}
resource "azurerm_network_security_rule" "mgmt_allow_ssh" {
  name                        = "Allow_ssh"
  priority                    = 202
  direction                   = "Inbound"
  access                      = "Allow"
  protocol                    = "Tcp"
  source_port_range           = "*"
  destination_port_range      = "22"
  destination_address_prefix  = "*"
  source_address_prefixes     = var.AllowedIPs
  resource_group_name         = azurerm_resource_group.rg.name
  network_security_group_name = format("%s-mgmt-nsg-%s", var.prefix, random_id.id.hex)
  depends_on                  = [module.mgmt-network-security-group]
}


Add forward_missing_to @object to Colorize

While working with code in a few other areas, including Benchmark::IPS, I tripped a little over the fact that a colorized String (or any other object) becomes an instance of Colorize::Object(T), and can no longer be used as it's original object type.
There are many times where one may want to inject some color or mode changes into a String and still transparently use the resulting object as if it were a String.
This patch adds a forward_missing_to @object, which in most cases where the type signature allows it, lets a colorized object like a colorized String duck type its way through life as if it were still a String, which simplifies many things.
The patch also adds a mode method like the fore and back methods, because without it, forward_missing_to caused spec failures. I also added a basic spec to exercise the method forwarding as part of this change.

This doesn't click with me right away. Could you detail a bit about your use cases? Ideally, please create an issue for this so we can separate general discussion about this feature from the concrete implementation in this PR.

and still transparently use the resulting object as if it were a String

In my mind colorize is the last thing you call before moving that object into the output. If you need to do some things with the original string, I would preserve that as a separate variable.
I think adding forward_missing_to would make things a bit harder to understand.

As requested, to short circuit a lot of discussion on the PR, I have created an issue:
https://github.com/crystal-lang/crystal/issues/13007

I am closing this PR, having been convinced that the use case isn't generally worth the potential downsides.


docs(CodeSnippet): switch to PrismJS and reduce bundle size

Switch to PrismJS

It's much lighter than Ace editor.
We use editor only for JSX/TSX.

html + json + sh + jsx + javascript

Option
Size

Brace
166KB unminified

PrismJS
14.1KB unminified

Preview

Move CodeSnippet to @stardust-ui/docs-components
It's a great candidate to move, so it was done.
Optimize bundle

1. brace was included multiple times

2. whole moment was included with all locales for one prototype, I remove locales at all

3. Removed duplicates of lodash

3.Updated Webpack and removed useless comments from production bundle

Results

File
Before
After
Diff

app.js
5243KB
3510KB
-1733KB

vendor.js
1151KB
3KB
-1148KB

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

:warning:
Package (or peer) dependencies changed. Make sure you have approval before merging!

Changed dependencies in packages/docs-components/package.json

package
before
after

prismjs
-
^1.16.0

  Generated by :no_entry_sign: dangerJS


[FLINK-25430] Replace RunningJobRegistry by JobResultStore

What is the purpose of the change
This PR introduces the JobResultStore interface that replaces the RunningJobRegistry previously used in the Dispatcher.
The functionality changes in a way that the no persisting registry for running jobs is being provided by the HA implementations (k8s and ZK). This will be reintroduced by the changes made as part of FLINK-25431
Brief change log

Introduced JobResultStore
Implemented EmbeddedJobResultStore
Removed RunningJobRegistry interface and its implementing components
Integrates JobResultStore into Dispatcher

Verifying this change

Available tests should work as usual since no functionality changed
EmbeddedJobResultStoreTest implemented

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: yes
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no (this change is only a refactoring)
If yes, how is the feature documented? not applicable

It would be executed in the same thread that has called the complete method
(which belongs to the pool). Passing the executor directly allows for
picking another thread from the pool. Also the control mechanism it's kind
of more explicit as you can never be sure that the "complete" method has
been called by the thread from previous stage.
On Fri, Jan 7, 2022 at 4:04 PM Matthias Pohl @.***>
wrote:

@.**** commented on this pull request.
In
flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/runner/SessionDispatcherLeaderProcess.java
https://github.com/apache/flink/pull/18189#discussion_r780321496:

   return CompletableFuture.supplyAsync(

                   this::getGloballyCompletedJobResultsIfRunning, ioExecutor)

           .thenCompose(

                   globallyTerminatedJobs ->

                           CompletableFuture.supplyAsync(

                                           () ->

                                                   this.recoverJobsIfRunning(

                                                           globallyTerminatedJobs.stream()

                                                                   .map(JobResult::getJobId)

                                                                   .collect(

                                                                           Collectors

                                                                                .toSet())),

                                           ioExecutor)

                                   .thenAccept(

                                           jobGraphs ->

                                                   createDispatcherIfRunning(

                                                           jobGraphs, globallyTerminatedJobs))

                                   .handle(this::onErrorIfRunning));

I'm wondering whether the dirtyJobsFuture.thenApplyAsync is necessary
here. Wouldn't it be executed in the same thread pool as the previous
supplyAsync since both are chained together?
—
Reply to this email directly, view it on GitHub
https://github.com/apache/flink/pull/18189#discussion_r780321496, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACJGBL5ED6XK77BRIONM4DUU36GPANCNFSM5KUWUGAA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

FYI: I didn't squash the initial commits, yet. The commits can be reviewed starting from 386d700c (the first commit having the [review] label in its commit message).

Maybe should we just re-throw a runtime exception here for now? So we don't forget to fix it.

I left it like that because that reflects the current state of the codebase. The JobResultStore entries will be left in a dirty state in such a case, which is the desired behavior. The user has to clean it up in that case manually. In the old (master) implementation we don't fail if the cleanup fails, either, but just write a warning to the logs.

I addressed your comments and rebased the branch. I kept the old commits as is. You can review anything starting from the commits being labeled as [review #2].

Thanks @dmvk . I rebased the branch once more to resolve some conflict caused by FLINK-24038 being merged. Additionally, I fixed a minor typo in a variable and updated the commit messages. I will merge the PR as soon as the final AzureCI run succeeds.

The AzureCI build was successful. Merging now.


Cooperation: New instruction slides

Cooperation_Task_Instructions.11.29.2022.pptx
No new audio needed.

Hi! Lots of updates:

updated slides (audio to come): We changed every "meaningless" (text underlined) to be "neutral" (text in blue). The only change to your code should be the message that is displayed at the bottom of the chatrooms (i.e. instead of "You will be shown the meaningless (text underlined) image unless the person you choose decides to help you", it should say "You will be shown the neutral (text in blue) image unless the person you choose decides to help you")
outcome media schedule: The order of images is now fixed (included the neutral images which are no longer scrambled). There are only 3 tones now - positive, negative, and neutral
- I had to invent paths for things that didn't exist/I didn't know where they went so hopefully that stuff is clear

outcome_media_schedule.csv
Cooperation_Task_Instructions.12.5.2022.pptx

Updated audio:
CooperationTaskInstructions.zip

All things requested in this ticket has been resolved. 8287007.
Closing


AWS IAM Integration Docs Fix

What happened:
There is a typo in the EKS command in AWS IAM Integration doc.
What you expected to happen:
The command will fail if the user follows as-is.
Where can this issue be corrected? (optional)
NA
How to reproduce it (as minimally and precisely as possible):
In this instructions doc, if the user follows the Step 2 command, it will fail due to typo.
eksctl create iamserviceaccount \
    --name <service_account_name> \
    --namespace <service_account_namespace> \
    --cluster <cluster_name> \
    --attach-policy-arn <IAM_policy_ARN> \
    --approve \
    --override-existing-serviceaccont

Anything else we need to know?:
I will submit a PR with a corrected command.

https://github.com/litmuschaos/litmus/pull/3612

Thanks @QAInsights for the PR!


Add Support for 'Read Device Location History' Endpoint

Add support for the following endpoint:

https://m2x.att.com/developer/documentation/v2/device#Read-Device-Location-History

:+1:


⬆<EMAIL_ADDRESS>

Bumps prebuild-install from 5.3.5 to 5.3.6

https://www.joinhoney.com/ref/87865gb


Simple exception handling for code_viewer.py

...so the program doesn't exit from a misclick. Just having fun 😄

I've done it slightly differently in this branch.


_serialization.py is not DRY!

I had a look at the _serialization.py files. There is something really bizarre about this. The same file is mostly duplicated with minor adjustments across multiple directories. There are large amounts of Python 2.7 compatibility code in these files, although this version of Python is no longer supported. grep was just to illustrate two common variations.
find . -name "_serialization.py" | xargs stat --printf="%n: %s\n" | grep -E "(78873|78971)"

This lists all versions:
find . -name "_serialization.py" | xargs stat --printf="%s\n" | sort | uniq

Hi @atombrella thank you for the feedback, we will get back to you asap.

@atombrella the usage of the _serialization.py is to vendor code from an old deprecated library for backcompat. The library was written a long time ago, and we only generate it right now for our older sdks, so I don't think we should go through more fundamental changes, but I'm open to making small tweaks here and there. Thanks for all of your help on our repo!


Unspecified, sporadic, hard to reproduce bug with DynAABBPhase + ray casting.

As reported by backda.
On his information, would occur it seems when using only aabb broadphase in conjunction with ray casting.
sigh
Given it's sporadicness, it may take a while to track it down fully.

Curious to see whether the bug I've now fixed in DynAABB could have resolved this also.


Introduce logging framework for dice

Kavi is already working on this.

@AshwinKul28 could you please assign it to me?

Hello @KaviiSuri,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hey @arpitbbhayani the changes are already approved and ready to merge on the PR. The reason the issue was inactive was because the conversation was happening on the PR itself.
I'll make sure to keep issues updated moving forward.

@AshwinKul28 do you mind taking a look at the PR again? It's already approved by @lucifercr07


potential typo in session 5 lecture notes

In the first example with beta prior and binomial likelihood, the second argument for posterior beta distribution would leave N outside of the sum?

Hm, I did a cursory look through but couldn't find exactly what you're referring to -- could you take a screenshot or something?

Ah, thanks. That's correct, as per this table. Or at least I believe so.


ReferenceError: Can't find variable: resolvedStyle

Hey there. I have created project using CRNA. & Later adding NativeBase as dependency.
Versions:
"expo": "^22.0.2",
"native-base": "^2.3.3",
"react": "16.0.0-beta.5",
"react-native": "^0.49.5"
App runs just fine if i'm not using any of the NativeBase Components. As soon as i import e.g. Content and later use it as <Content>SomeText</Content>
I get following error .

@kishanio Tried a sample code didn't find anything like above
Gif

Problem is an updated native-base dependency.
Lock: “native-base-shoutem-theme": “0.2.1”

As @wiedld stated it is a problem with native-base-shoutem-theme In connectStyle.js in getOrSetStylesInCache(), if (themeCache && themeCache[path.join(">")]) is not truthy, there will be a runtime exception as described above, bc indeed var resolvedStyle is not defined. Adding a let does all the magic.
It seems like the themeCache can get into a state where that code runs and then it breaks the app. Doesn't seem like the theme is open source, so maybe it worth taking a look @akhil-geekyants
Thanks

PR (by @AaronFriel ) for this issue https://github.com/GeekyAnts/theme/pull/4

Excellent, we identified another issue in Item.js. This PR should fix it: https://github.com/GeekyAnts/NativeBase/pull/1396

Having issues with undeclared variables here too. I confirm the PRs above tackle those issues.
Any chance those trivial fixes could be merged soon?

@remon-georgy Yes, this week

Is there a version with this fixed?

@midastouchprd Merging it today

Any news on this?


Updating nested values

This is more of a usage question but I'm finding I'm repeating this sort of pattern to read and write Maps:
// Add to total outstanding USD debt:
    let user_data = Map.get(users_map, phash, user_principal);
    switch (user_data) {
      case null { return "User not found." };
      case (?user_data) {
        let total_outstanding_debt = user_data.total_outstanding_debt;
        // let total_outstanding_debt_as_float : Float = Float.fromInt(total_outstanding_debt); // In USD.
        let new_total_outstanding_debt : Float = total_outstanding_debt + mint_amount;
        let updated_user_data : UserData = {
          principal : Principal = user_principal;
          total_outstanding_debt : Float = new_total_outstanding_debt;
          btc_address : Text = user_data.btc_address;
          stablecoin_repayment_address : Text = user_data.stablecoin_repayment_address;
          // liquidation_price : ?Nat = null;
        };
        Map.set(users_map, phash, user_principal, updated_user_data);
      };
    };

Is this the right approach or is there a more direct / concise way of reading / writing that doesn't require switch statements and an explicit re-write of the complete (in this case) UserData type?

I see all of your UserData fields are immutable, if you change your user data frequently I'd suggest making some of the fields mutable so you don't have to recreate and reinsert new user object
type UserData = {
  principal: Principal;
  var total_outstanding_debt: Float; // mutable
  btc_address: Text;
  stablecoin_repayment_address: Text;
};

so you can later do
let user_data = Map.get(users_map, phash, user_principal);

switch (user_data) {
  case (null) return "User not found.";
  case (?user_data) user_data.total_outstanding_debt += mint_amount;
};

I knew there had to be a better way. Thanks. And regarding switch, is that always necessary?
In practice I don't think I need to be checking the user exists every time, but I don't know how to remove it without it causing compiler errors.

Well, the compiler does not know in advance if you have a specified key in a map or not. You will need to check it one way or another
An alternative solution will be
(only works with map v8.0.0-rc2 which is a pre-release version and is not production ready)

Well, the compiler does not know in advance if you have a specified key in a map or not. You will need to check it one way or another
An alternative solution will be
ignore do ?{
  let user_data = Map.get(users_map, phash, user_principal)!;

  user_data.total_outstanding_debt += mint_amount;
};

Is the syntax likely to change once v8 is production-ready?
Not sure whether to keep using v8 or just use v7. What I'm working on won't go live for at least a handful of months.

Some methods will change interfaces (insignificantly)
Internal data representation will also change unless motoko team makes a fix regarding "stack overflow error during upgrade"
(see issue https://github.com/ZhenyaUsenko/motoko-hash-map/issues/1)


#1732: systemId resolution regression introduced in 2.3.4+

fixes #1732

This PR has been tested on snapshot 4.0.1 of jaxb-maven-plugin with success on failed projects and disabled fixed introduced in our project.
LGTM


Controlled access to /announcements route path

Hi,
We are trying to integrate this plugin with our backstage announcement. WE want to keep the access to  /announcements route path limited to only certain team (kind:group).
Has anyone tried this or any suggestion on how this can be achieved?

Sure @DanKreck I will try it out. However, I am able to integrate and get plugin working in my local backstage instance but when I deploy it to our Kubernetes cluster it throws below error. Also, the application fails to come up.
Any hints or suggestions on what could be wrong?
stderr F /usr/share/nginx/html/static/module-k-phoen.a0ce6ac3.js: No such file or directory


There are garbled character when run task

I use cmder on Windows10, and when I run this Taskfile.yml:
version: '3'

tasks:
  hello:
    cmds:
      - echo 'Hello World from Task!'
    silent: true

It report:
'task' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
[Finished in 54ms with exit code 1]
[shell_cmd: task hello]
[dir: D:\ketarin_src\taskfile]
[path: C:\Program Files\ImageMagick-7.1.0-Q16-HDRI;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files\dotnet\;C:\Program Files (x86)\dotnet\;C:\Program Files (x86)\Tailscale IPN;C:\Users\scillidan\scoop\apps\ghostscript\current\lib;C:\Users\scillidan\scoop\apps\rustup\current\.cargo\bin;C:\Users\scillidan\scoop\apps\python\current\Scripts;C:\Users\scillidan\scoop\apps\python\current;C:\Users\scillidan\scoop\apps\nodejs\current\bin;C:\Users\scillidan\scoop\apps\nodejs\current;C:\Users\scillidan\go\bin;C:\Users\scillidan\scoop\apps\yarn\current\global\node_modules\.bin;C:\Users\scillidan\scoop\apps\yarn\current\bin;C:\Users\scillidan\scoop\apps\opencv\current\x64\vc14\bin;D:\bin\todo\target\debug;C:\Users\scillidan\scoop\apps\gsudo\current;C:\Users\scillidan\AppData\Roaming\Python\Python310\Scripts;D:\bin\waifu2x-ncnn-vulkan;D:\bin;C:\Users\scillidan\scoop\apps\cmder\current\vendor;D:\bin\nconvert;C:\Users\scillidan\scoop\shims;C:\Users\scillidan\AppData\Local\Microsoft\WindowsApps;c:\users\scillidan\.local\bin]

Hi @scillidan! I'm sorry, I don't have Windows machine and it is too much of a hassle launching a VM, so it is going to be hard to debug.
It might be one of the encoding issues specific to Windows, which I read about on Sublime forums.
Can you try adding these lines to your taskfile and show me the output of task hello?
version: '3'

tasks:
  hello:
    cmds:
      - echo 'Hello World from Task!'
      - echo $LC_CTYPE
      - echo $LANG
    silent: true

And please run it through your shell and not through Sublime and my plugin, otherwise I will not be able to read the output. :)

🤣My fault.
I found out I forgot to install task when you told me to run task hello 🤔
Thanks, guys. It works now:
D:\lib λ task hello
Hello World from Task!

zh_CN.UTF-8

Yeah, this plugin is just a thin wrapper around task command, it needs to be installed.
Glad it worked out for you. And good it is not an encoding issue, it would have been a pain to debug and fix. 😅


MGMT: OIDC Client type points to OAuth

See the image below:

For this screen I just re-used the OAuth Client options and then show the additional OIDC options below it.  I thought this would make sense since OIDC is an extension of OAuth.  Do you think this is confusing and I should just copy this into the OIDC form and a change the labels to be "OIDC Client ID" and such?

Do you think this is confusing and I should just copy this into the OIDC form...

Indeed, yes. I am certainly OK without it, but it's best to keep consistent...and of course, easier to not have to explain the relationship between OAuth and OIDC to novice deployers :)

A fix has been pushed to mgmt-5.2-bugs


[Question] Using the hexagrid in a div

I'm using your grid as follows:

and then dynamically append the list items with jquery like this: $("#hexGrid").append('
' +                               '
' + data[i].employee_id + '

');
And even though the parent div is larger the hexGrid does not stretch as nicely as in your examples. I did not change any code and took the code from this codepen: https://codepen.io/web-tiki/pen/wWGeEM
Hopefully one of you can help me to figure this out, because it looks not so nice now :(

I created this example: https://jsfiddle.net/w1o7kzow/2/
And there does not seem to be anything wrong with the code.
Maybe there is some css that affects the "honeycomb" id?

@MinThaMie the behaviour you see is the normal behaviour. If you stretch width of the result window in the codepen, you will see that the grid adjusts to 2-3 hexagons per row. As you only have 4, and the fifth one is missing, it looks like the grid isn't centered.
I suppose (you haven't explained what you want) that you want the grid to always display 1-2 hexagons per row. For this, you just need to modify the CSS:

delete the second media query (@media (max-width: 1200px) {  /* <- 4-3  hexagons per row */) with all it's content
take the content of the first one out of it. (@media (min-width:1201px) {  /* <- 2-3  hexagons per row */)

Thanks for the answers, for some reason the extra div broke the height of the . Thanks for the quick response :) I love this repo!

On a side note, you should use the CSS from the repo rather than the one on Codepen as it isn't maintained there.

The repo CSS results in this:

In safari at least

@web-tiki did we ever test the grid in safari?
Are there some -prefixes we are missing?

@poi33 the grid has been successfully tested on safari and firefox and no prefixes are missing.
@MinThaMie have you tested the repo demo here? And what versions on firefox and safari have you seen that result on?

I'm really sorry. I managed to forget one crucial class :(

No problem.


pw --lock with lock-python-version attempts to install dependency on python 3.8 that should only be installed on newer versions of python

Describe the bug
thanks for adding the lock-python-version option!
i'm on python 3.12 and trying to target 3.8 when running pw --lock to install pdm. pdm depends on truststore on python 3.10 and above, but it seems to be trying to install it anyway which causes it to fail:
./pw --lock

locking main requirements
warning: The requested Python version 3.9 is not available; 3.12.0 will be used to build dependencies instead.
  × No solution found when resolving dependencies:
  ╰─▶ Because truststore{python_version >= '3.10'}==0.9.0 was yanked (reason:
      Doesn't work for CPython 3.13, upgrade to 0.9.1) and the requested
      Python version (>=3.9) does not satisfy Python>=3.10, we can conclude
      that any of:
          truststore{python_version >= '3.10'}==0.1.0
          truststore{python_version >= '3.10'}==0.2.0
          truststore{python_version >= '3.10'}==0.3.0
          truststore{python_version >= '3.10'}==0.4.0
          truststore{python_version >= '3.10'}==0.5.0
          truststore{python_version >= '3.10'}==0.6.0
          truststore{python_version >= '3.10'}==0.6.1
          truststore{python_version >= '3.10'}==0.7.0
          truststore{python_version >= '3.10'}==0.8.0
          truststore{python_version >= '3.10'}==0.9.0
          truststore{python_version >= '3.10'}==0.9.1
       are incompatible.
      And because only the following versions of truststore{python_version >=
      '3.10'} are available:
          truststore{python_version >= '3.10'}==0.1.0
          truststore{python_version >= '3.10'}==0.2.0
          truststore{python_version >= '3.10'}==0.3.0
          truststore{python_version >= '3.10'}==0.4.0
          truststore{python_version >= '3.10'}==0.5.0
          truststore{python_version >= '3.10'}==0.6.0
          truststore{python_version >= '3.10'}==0.6.1
          truststore{python_version >= '3.10'}==0.7.0
          truststore{python_version >= '3.10'}==0.8.0
          truststore{python_version >= '3.10'}==0.9.0
          truststore{python_version >= '3.10'}==0.9.1
      and pdm>=2.16.1 depends on truststore{python_version >= '3.10'}, we can
      conclude that pdm>=2.16.1 cannot be used.
      And because only the following versions of pdm are available:
          pdm<=2.16.1
          pdm==2.17.0
          pdm==2.17.1
          pdm==2.17.2
          pdm==2.17.3
      and you require pdm>=2.16.1, we can conclude that the requirements are
      unsatisfiable.
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Scripts\pyprojectx.exe\__main__.py", line 7, in <module>
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Lib\site-packages\pyprojectx\cli.py", line 21, in main
    _run(sys.argv)
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Lib\site-packages\pyprojectx\cli.py", line 46, in _run
    _lock_requirements(argv, config, options)
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Lib\site-packages\pyprojectx\cli.py", line 288, in _lock_requirements
    _ensure_ctx(config, ctx, env=config.env, options=options, pw_args=argv)
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Lib\site-packages\pyprojectx\cli.py", line 191, in _ensure_ctx
    requirements, modified = get_or_update_locked_requirements(ctx, config, options.quiet)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Lib\site-packages\pyprojectx\lock.py", line 51, in get_or_update_locked_requirements
    locked_requirements = _freeze(ctx, requirements, config.lock_python_version, quiet)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\project\.pyprojectx\pyprojectx\3.0.3-py3.12\Lib\site-packages\pyprojectx\lock.py", line 75, in _freeze
    raise Warning(f"Failed to lock {ctx_name} requirements.")
Warning: Failed to lock main requirements.

To Reproduce

in pyrpoject.toml:[tool.pyprojectx]
lock-python-version = "3.8"
main = ["pdm>=2.16.1"]

run ./pw --lock

Expected behavior
no error
Desktop (please complete the following information):

Python  version: 3.12
OS: windows 11

Additional context
could this be because the version of python i'm using doesn't match the version i'm targeting? should lock-python-version support a range? eg. ">=3.8,<3.13"

This seems like a uv issue, it should indeed only consider truststore if python >=3.10
See  https://github.com/astral-sh/uv/issues/4668 and https://github.com/astral-sh/uv/issues/5647
Until this gets resolved, you can try a manual workaround:

execute ./pw --lock using python>=3.10 (without specifying lock-python-version)
locate the truststore dependency in pw.lock and add ; python_version >= '3.10'
now the lockfile should also be usable with python <3.10

The uv issue is fixed in the next release (see: https://github.com/astral-sh/uv/pull/8628).