🧹 Create a generic base connector and use for all access

Create a base connector and reimplement the sample data reader, the local file reader and any other readers to use the base connector.

The connectors need to map to a datastore.
get_schema and read need to accept a dataset name.
get_schema should usually reference a schema store before falling back to trying to work it out from the data source (if working it out, it should add a warning about creating a schema)


evaluate libp2p as backend network stack

https://libp2p.io/
evaluate which bindings or deployments of libp2p would be most suitable for communicating gradients as in ML training, supporting mobile phone OSs, and for interfacing with e.g. PyTorch / jax or similar schemes

not an urgency now because we have the peer.js version,
but we should come back to this issue sometime later, as libp2p offers many nice advantages such as elegant server-free peer discovery (using DHTs). we could use that later to discover peers who want to train the same task, similarly as the keyword based approach used here:  https://github.com/dennis-tra/pcp

we should keep an eye on when the js version of libp2p would be ready to offer the (basic) functionality we need: https://github.com/libp2p/js-libp2p


TAG-Runtime presentation/discussion

Hello kubeDL team,
I'm one of the co-chairs of the CNCF TAG-Runtime. I'm reaching out and I think it would be great for you to present/discuss the project at one of our meetings. For example, a general overview of the project or/and a demo.
Feel free to add it to our agenda or reach out to me (raravena80 at gmail.com)
Thanks!

@raravena80 Great, we'd love to.
We'll prepare the content and add it to the agenda, thanks !

@jian-he How about presenting on July 15th? We currently don't have anything on the agenda. Thanks!

This is presented at the meeting Aug 19th, close this


Implementing-queue-using-binary-file

I would like to implement a queue using a binary file.
@avinash201199 , Can you please assign it to me?
Thank you so much!!!

@avinash201199 , I would like to work on it, please assign me!


[forms] "Pay with" Credit card screen transitions

Related to #1422
See design flow here.
After clicking RETIRE NOW from pool listing project page, the form page loads like this.
Note that no payment method is selected at this point and we show USDC pricing and info in the Total price component.
When the user selects Credit card as payment we want to add a UI animation to highlight the implications of that selection.
Design page here.
NOTES:

the USDC symbol slowly fades out, transition-duration: 800ms
processing fee section is revealed
total cost text color switches to green (transition duration: 0ms), then slowly faded to black (transition duration: 800ms)

See professor's comments in the total price component:

@0xMakka you may need further info on this one, if yes please discuss with @theprofessora in terms of the transition behaviours he is looking for.

Hi @theprofessora,
I've been working on this task, and not entirely sure what the expected behaviour is when the usdc icon disappears. I've added a short video clip of how I have it currently working. I added a transition to the values sliding to the left because without the transition it didn't look quite right when the icon disappears and the value moves to where the icon was (see video). Happy to change this based on your feedback.
https://github.com/KlimaDAO/klimadao/assets/92357475/16c048ae-d99c-4909-9ad4-c60d2b56d4b4

@0xMakka that's perfect!


pre-commit script added

Description
Please include a summary of the change and which is fixed.

Add pre-commit script to use CredSweeper to prevent commits with credentials

How has this been tested?
Please describe the tests that you ran to verify your changes.

[x] add the script to directory, made a change with credential, the change must be not commited.

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

Comparison is base (d3bdb38) 90.87% compared to head (b4a86be) 90.85%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #436      +/-   ##
==========================================
- Coverage   90.87%   90.85%   -0.02%
==========================================
  Files         125      125
  Lines        4174     4168       -6
  Branches      658      659       +1
==========================================
- Hits         3793     3787       -6
  Misses        249      249
  Partials      132      132

Files
Coverage Δ

credsweeper/common/constants.py
100.00% <100.00%> (ø)

credsweeper/filters/line_specific_key_check.py
88.23% <100.00%> (ø)

credsweeper/filters/value_allowlist_check.py
100.00% <ø> (ø)

...redsweeper/filters/value_array_dictionary_check.py
100.00% <100.00%> (ø)

credsweeper/filters/value_file_path_check.py
100.00% <ø> (ø)

credsweeper/filters/value_first_word_check.py
100.00% <ø> (ø)

credsweeper/filters/value_method_check.py
100.00% <100.00%> (ø)

...sweeper/filters/value_not_allowed_pattern_check.py
100.00% <100.00%> (ø)

credsweeper/filters/value_pattern_check.py
91.83% <100.00%> (+0.34%)
:arrow_up:

credsweeper/filters/value_pem_pattern_check.py
100.00% <ø> (ø)

... and 5 more

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

https://gist.github.com/pierrejoubert73/902cc94d79424356a8d20be2b382e1ab


Create image-resize-response plugin

Dear maintainers of jspsych,
I created a new plugin image-resize-response (based on the existing plugin resize) for resizing an image and recording the resize response.
I also created the documentation and an example file.
The test file I started to create, but is probably incomplete. I was not able to run the test as requested on https://www.jspsych.org/about/contributing/ for a previous plugin I contributed, so I did not try for this one.
Could you please consider adding this plugin to jspsych?
Thanks in advance!

Hi @ElineVG,
Thanks for your contribution! This looks like a valuable response mode to offer users.
We are in the final stretch of getting version 7.0 released, which will change some important details about plugins that are contributed directly to the library. We're also planning on hosting a repository for community plugins that has fewer requirements for contribution. Since we are so close to 7.0 we aren't going to merge in additional plugins until after we release it, and then we'll have a new guide about how plugins can be added to the main repository or the contrib repository.
Sorry for the bad timing, and we'll check in with you once the 7.0 updates are complete.

No problem, looking forward to see the new version as well as how I can prepare my plugin to fit the new format!

Hi @ElineVG,
This one would also be great in the new contib repo!


Cannot authorize with Vercel

Occur something went wrong error when authorizing, cannot complete the authorization process.

This issue was closed by @erbanku because it has been inactive for a period.

This issue was closed by @erbanku because it has been inactive for a period.


Non-times parsed as times, AM/PM ignored.

For tasks within the day's daily note:
Task "11:30PM - Get in bed" is shown as being at 11:30AM

Task "- [ ] 1 hour of decluttering/organizing life " shown as being at 1AM albeit being unscheduled

When dragging a task to a PM time via the timeline, a 24 hour timestamp is used. (The time displayed here is not relevant, I just dragged and dropped it to a random PM time)

I'm using Time Ruler 2.4.0 with Tasks format selected using 12 hour format.

We only use 24 hour time in Time Ruler right now. I can add AM/PM support to the roadmap.


[Refactor] Serial generation

This PR refactors the creation of large numbers of serialized stock items.
Previously each item was created individually and thus was very inefficient.

Operation
Old
New

Create 500 new stock items, serialized
> 9,000 queries, 14 seconds
28 queries, 0.9 seconds

Serialize existing stock item, quantity 500
> 9,000 queries, 23 seconds
34 queries, 0.9 seconds

Create build order outputs, quantity 500
6,500 queries, 8 seconds
2,000 queries in 3.2 seconds

Waiting for https://github.com/inventree/InvenTree/pull/8269 to be merged


Replace highlight.js with ace editor.

In this PR I removed highlight.js and implemented ace editor that support textarea highlighting.
resolving https://github.com/liyasthomas/postwoman/issues/266

Hey @hosseinnedaee,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 14ed7430-0329-11ea-bbb5-2bfb3cbbfe32

@hosseinnedaee Yes, that's easily possible.
use editor.session.setMode();
refer:

https://codepen.io/callmeaatrey/pen/dGPPjE
https://ourcodeworld.com/articles/read/310/how-to-set-ace-editor-mode-according-to-the-file-extension-of-a-file

Hey @hosseinnedaee,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: f5db0270-03e0-11ea-8ac3-8db289d111a9

Hey @hosseinnedaee,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: cabcdaf0-03e5-11ea-8ac3-8db289d111a9

Providing both options is great! But i dont compel to implement both at once. Anyway, it's your feature branch 😊

I think we should land this to production and add more theming afterwards. @hosseinnedaee what do you think?

I think we should land this to production ASAP and add more theming afterwards. @hosseinnedaee what do you think?
Will merge to master tomorrow.

I'm working on it, and hope some commits next hours.
anyway, we'll merge tomorrow.

Now ace editor theme change by PW changing.

Hey @hosseinnedaee,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: f63a5f70-04af-11ea-8edf-21b3f03c2407

Hey @hosseinnedaee,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 409944b0-04f0-11ea-9b49-e31b2b39913b


etcdserver: extend wait timeout in TestPublishRetry

It fixes the failure in semaphore CI:
--- FAIL: TestPublishRetry (0.00s)
		server_test.go:1108: len(action) = 1, want >= 2

A better way is to use fakeClockwork for it. I have added a TODO for it.

LGTM.


python310Packages.pytest-subtests: 0.7.0 -> 0.8.0

Description of changes
https://github.com/pytest-dev/pytest-subtests/blob/main/CHANGELOG.rst#080-2022-05-26

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Moved to https://github.com/NixOS/nixpkgs/pull/175805


Also add support for SSM secrets in AWS TriggerAuthentication

Proposal
Besides accessing secrets from secretsmanager, similar to secrets-store-csi-driver-provider-aws, we should be able to fetch secure secrets from SSM. This will allow more flexibility for implementation
Use-Case
This will allow users already using SSM to not have to copy their secrets
Is this a feature you are interested in implementing yourself?
No
Anything else?
No response

Hello
I'm not sure if I get your point totally. Does SSM mean AWS Systems Manager? Assuming that yes, I think that we can extend the current implementation of the AWS Secret Manager and support calling to the new service (with another parameter to declare it).
WDYT @kedacore/keda-contributors ?

Yeah, I like this


Proxy: do not log error messages when http Server is closed

Ⅰ. Describe what this PR did
proxy: do not log error messages when http Server is closed
Since it is an expected error, we don't have to log it.
Ⅱ. Does this pull request fix one issue?

Fixes: #1273
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

/cc @lowzj @Starnop


Made libfunc hierarchy have a possible generic arg.

This change is

Current dependencies on/for this PR:

main

PR #2809   👈

This comment was auto-generated by Graphite.


messy code when text with emoji.

when then lyric of option  with emoji, the show text will bring messy code.
example:
var motto = new Motto('.title', {
  lyric: 'Hello, MottoJS! 😄',
  showUpSpeed: 120,
  flashSpeed: 100,
  flashTimeout: 1000,
  callback: function () {
    // do something...
  }
})

yes, because emoji wasn't support by browser itself, you should use some pollyfill to make it work, such as https://github.com/coocy/emoji and so on


⚠ ClamAV has degraded performance

In 5dcab66, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 473 ms

Resolved: ClamAV performance has improved in 616d04d.


[FeatureRequest] Add the possibility to specify a time parameter in the speed component

Some Robot Languages (like UR) allow for specifying the time a movement should take.
UR implements this with the t=xx parameter in most move fuctions.
I saw that this functionality is already available in the RobotCellUR but I may be mistaken:
https://github.com/visose/Robots/blob/9fc97b7ced60f321af310d68ee2cf1ea4b838ecd/Robots/RobotCellUR.cs#L342-L343
would it be possible to expose a time input in the speed component or would that be confusing/break things for robots that don't use this functionality?

You can create or modify a Speed parameter using a scripting component. You can there set variables not exposed as inputs such as Time and Acceleration

I will try that! Thank you for the quick response.

Could you give a quick overview how I can get access to the Robots-.NET library in the scripting component? I am having a hard time configuring the right namespaces etc.
Do you have an example script I could see as reference?

I made it work, with the help from this previous answer of yours: https://github.com/visose/Robots/issues/19#issuecomment-520556168
Other examples would still be appreciated.

For Reference: this is the code I used to create a speed parameter with a time value:
Written in C#. I did not need to specify using Robots; after adding the Assembly by right clicking on the c# scripting component.
//using Robots;
//namespace Robots;

var inputspeed = new Speed() ;
inputspeed.Time = time;

Robotspeed = inputspeed;
Print(inputspeed.Time.ToString());


[Refactor] How to avoid the need to be aware of zend_object in the internal structure code?

I'm trying to separate the "internal" structures from all the zend stuff (zend_object, handlers, ce, etc), which has been smooth sailing so far. I came across a potential situation where this might not work as well as it sounds:
The case is with $vector->merge($iterable). We can take internal shortcuts when the $iterable is a php-ds structure, eg. another php_ds_vector_t. In order to access the internal buffer of that vector we have to follow this path: zval => zend_object => structure, ie. ((php_ds_vector_t*)(Z_OBJ(z)))->vector. The problem is that the current scope doesn't have knowledge of php_ds_vector_t, only ds_vector_t.
The only solution I can think of is to create separate functions, one for each shortcut, and only accept the structures, rather than a generic zval, except for the case where the Z_OBJ_CE is not a php-ds structure (array or other iterable). This would work fine, effectively moving the logic of "is this a vector? is this a deque?" out of the internal structure and into the callee's scope.
So instead of calling ds_vector_t *ds_vector_merge(ds_vector_t *vector, zval *values) I could use something like ds_vector_t *ds_vector_merge_vector(ds_vector_t *vector, ds_vector_t *values).
Is it possible to pass a void * along with a typedef to a function? That way the callee is responsible for extracting the structure, but the structure is responsible for the logic to merge it in. Would remove the need to have multiple x_merge_x, x_merge_y, x_merge_z patterns.

#15 is directly related.

Another example is $map->sort($callable), which expects a callable as function (Pair $a, Pair $b) {}, so the map has to create these pair objects out of the buckets in the hashtable. If the internals aren't aware of the objects, there is no way for the map to create the zval Pair objects.
I know the overhead of creating and destroying two objects for each comparison is terrible, but the only alternative is to only compare by key (and have the user look up using that key if they want to compare by value?), or to use arrays instead like [x1, y1], [x2, y2] or have the callable accept ($x1, $y1, $x2, $y2), or use a flag like DS_COMPARE_BY_VALUE`.
:S

Just a suggestion kinda out of scope, but most probably this is one of the heaviest lines in the callback-sorting methods? It might be that caching the last created pair(s) and reusing them if their refcount dropped to zero would be more efficient (I'm not suggesting a pool - that would involve too much overhead, it could be more basic: if there was pair_init(Pair *candidate) which could be passed all the way down from user_compare_by_pair)

I don't see a reason why that wouldn't work. I've opted to introduce Map::ksort, and have Map::sort work on the values only - similar to a PHP array. The need to create Pair objects doesn't exist in sort anymore, but it's still required for Map::pairs. I've opted to lift that code into the php_ scope, which I don't like very much but will do for now. See https://github.com/php-ds/extension/blob/refactor/src/php/objects/php_ds_map.c#L58

^ Solution.


Issue with limit order on KyberSwap

https://github.com/AlphaWallet/alpha-wallet-ios/issues/1290

I believe @JamesSmartCell solved this a while ago


move Results to github Pages

substitute this repo "Results" to github Pages in https://github.com/it-at-m/startercode-generator_openZH/

the file view on github is intentional
therefore we revert everything and leave https://github.com/it-at-m/startercode-opendata-munich as it is


Jointly Test All Substitutions

Invert the match penalty in scoring to get a bound on the score for any substitution mutation.

Note to self: Also don't retest to get QV values.

This would be a massive speed improvement in the RS world, but I think we will be switching to a more complex emission pattern so it's no longer a simple match/mismatch scoring.
Speed will have to come from using a targeted mutation mode.


Possible way to fix 403 Error

Hi, @alvarobartt !
I've encountered the 403 Error problem today and found that using curl seem to be working fine, no 403 error.
And the only difference I can see is the headers ordering - requests shuffles headers, while curl preserves them as provided.
So I tried using urllib.request and it worked.
I'm using Python 3.10.5
Maybe this can solve all 403 errors in the project?
minimal working example:
import urllib.request

# take them from your browser, no cookies required
headers = {}

req = urllib.request.Request(f'https://sbcharts.investing.com/events_charts/us/222.json', b"", headers)
with urllib.request.urlopen(req) as response:
    response = response.read().decode()

#56

So I've just tested investiny and it seems to be working fine again... I assume their Cloudflare has some limitations but it's not blacklisting every IP forever, just after a certain number of requests...
Look:
(investiny-py3.9) alvarobartt@Alvaros-MacBook-Air investiny % poetry run python
Python 3.9.6 (default, Aug  5 2022, 15:21:02)
[Clang 14.0.0 (clang-14<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from investiny import historical_data
>>> d = historical_data(investing_id=6408)
>>> d
{'date': ['09/26/2022', '09/27/2022', '09/28/2022', '09/29/2022', '09/30/2022', '10/03/2022', '10/04/2022', '10/05/2022', '10/06/2022', '10/07/2022', '10/10/2022', '10/11/2022', '10/12/2022', '10/13/2022', '10/14/2022', '10/17/2022', '10/18/2022', '10/19/2022', '10/20/2022', '10/21/2022'], 'open': [149.66000366211,<PHONE_NUMBER>9316,<PHONE_NUMBER>8965,<PHONE_NUMBER>0352,<PHONE_NUMBER>793,<PHONE_NUMBER>1387,<PHONE_NUMBER>793,<PHONE_NUMBER>4824,<PHONE_NUMBER>5859,<PHONE_NUMBER>8613,<PHONE_NUMBER>6895,<PHONE_NUMBER>9648,<PHONE_NUMBER>8281,<PHONE_NUMBER>9316,<PHONE_NUMBER>5859,<PHONE_NUMBER>4141,<PHONE_NUMBER>9316,<PHONE_NUMBER>4141,<PHONE_NUMBER>7246,<PHONE_NUMBER>1387], 'high': [153.7700958252,<PHONE_NUMBER>207,<PHONE_NUMBER>9824,<PHONE_NUMBER>207,<PHONE_NUMBER>0352,<PHONE_NUMBER>2422,<PHONE_NUMBER>207,<PHONE_NUMBER>8281,<PHONE_NUMBER>8613,<PHONE_NUMBER>0352,<PHONE_NUMBER>8965,<PHONE_NUMBER>0352,<PHONE_NUMBER>1035,<PHONE_NUMBER>3789,<PHONE_NUMBER>7246,<PHONE_NUMBER>9648,<PHONE_NUMBER>4824,<PHONE_NUMBER>9121,<PHONE_NUMBER>8965,<PHONE_NUMBER>3789], 'low': [149.63999938965,<PHONE_NUMBER>2422,<PHONE_NUMBER>3789,<PHONE_NUMBER>7578, 138,<PHONE_NUMBER>5859,<PHONE_NUMBER>0684,<PHONE_NUMBER>0684,<PHONE_NUMBER>207,<PHONE_NUMBER>2422,<PHONE_NUMBER>9414,<PHONE_NUMBER>207,<PHONE_NUMBER>6211,<PHONE_NUMBER>1719,<PHONE_NUMBER>4141,<PHONE_NUMBER>7246,<PHONE_NUMBER>1035, 141.5,<PHONE_NUMBER>9648,<PHONE_NUMBER>7578], 'close': [150.77000427246,<PHONE_NUMBER>0684,<PHONE_NUMBER>3789,<PHONE_NUMBER>2754,<PHONE_NUMBER>4824,<PHONE_NUMBER>4824,<PHONE_NUMBER>0352,<PHONE_NUMBER>9648,<PHONE_NUMBER>7578,<PHONE_NUMBER>3789,<PHONE_NUMBER>6895,<PHONE_NUMBER>2754,<PHONE_NUMBER>3789,<PHONE_NUMBER>9316,<PHONE_NUMBER>8281,<PHONE_NUMBER>6211, 143.75,<PHONE_NUMBER>1035,<PHONE_NUMBER>8965,<PHONE_NUMBER>7246], 'volume': [93339000, 84443000, 146691008, 128138000, 124925000, 114312000, 87134000, 79148000, 68402000, 85926000, 74591000, 77034000, 69833000, 112876000, 88237000, 84684000, 98716000, 61758000, 64277000, 85641896]}

So what is the problem with this solution @alvarobartt ? It works for me without any limitations from Cloudflare. Did it stop working for you after some time?
Seems like a reliable solution to me

So what is the problem with this solution @alvarobartt ? It works for me without any limitations from Cloudflare. Did it stop working for you after some time?
Seems like a reliable solution to me

Not at all, I was about to test it whenever I realized that investiny was working fine with the current solution!
Is the current implementation not working from your side? Can you run some stress tests over Investing.com to see whether you end up getting HTTP 403 or not? Thanks 😄

from investiny import historical_data
d = historical_data(investing_id=6408)
d
ConnectionError: Request to Investing.com API failed with error code: 403.

@alvarobartt I got it at first attempt
The only reliable solution for now seems the one posted here: https://github.com/alvarobartt/investpy/issues/611#issuecomment-1284571443

So your solution failed too? Or just the default investiny?
That seems to be a solution, yes, but I prefer to wait until I get a response from Investing.com, as I want to approach this the best way possible, but thanks for mentioning it again :smile:

@KostyaCholak see this, launched right now, and working fine:

So maybe you are blocked or something, because it's working fine for me... both using investiny and plain httpx as shown in the screenshot above.

And same thing if I run investiny's unit tests with poetry run make tests

Oops, maybe the invalid label was confusing @KostyaCholak, I meant that it was related to something not valid e.g. the current implementation, not that your solution was not valid 👍🏻 I've updated the label to be more clear!

yes, thanks)

Just tried latest version and result is the same. Should I try master branch?
But the urllib version works somehow.

Also tried httpx, got 403

@KostyaCholak okay, let me stress test it so that I also get HTTP 403 so I can reproduce it, then I'll tell you! Also, could you paste them here or send me the headers you're using for the request via email? As copy-paste from the browser won't work if that cannot be automated :weary:

headers = {
    'authority': 'sbcharts.investing.com',
    'accept': 'application/json, text/javascript, */*; q=0.01',
    'cache-control': 'no-cache',
    'origin': 'https://www.investing.com',
    'pragma': 'no-cache',
    'referer': 'https://www.investing.com/',
    'sec-ch-ua': '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"macOS"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'same-site',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36',
}


Can I check controller status if disposed?

"Once the IOSInAppWebViewController has been disposed of, it can no longer be used"
I do something in 'onProgressChanged async'， if webview was disposed before the code was done, I got this exception

Probably, you should already be able to do so using a different approach on how you are using the controller.
As an example, you could have a nullable InAppWebViewController variable in the widget State that is set when onWebViewCreated is fired and set to null when the current Widget State is calling the dispose method.
Then you should use that variable reference wherever you need.
Also, you could check for context.mounted (https://api.flutter.dev/flutter/widgets/BuildContext/mounted.html) value. If it is false, then you current widget context is not rendered and it could means that is too early or the widget has been disposed from the widget tree. In that case, the InAppWebViewController will be also disposed.
NOTE: Currently, each InAppWebView event callback has the InAppWebViewController controller as the first parameter, but in future plugin versions it will be removed. That way, the management of the controller should go to the developers.


feat: PET: Parameter-efficient Knowledge Distillation on Transformer

Thanks for the pull requests! PET and Pea-KD introduced in this work are only applied and verified on a small-scale Transformer based model. It should not be included as the LLM Compression work.


Nuxt3 Swiper hydration issue

Check that this is really a bug

[X] I confirm

Reproduction link
https://stackblitz.com/edit/nuxt-starter-y6fay4
Bug description
Ther's a hydration issue with a very simple implementation of the swiper in nuxt 3.
Check the console for the error
[vue warn]: Hydration children mismatch in <swiper-container>: server rendered element contains more child nodes than client vdom.
  at <App key=3 >
  at <NuxtRoot>

and
hydration completed but contains mismatches.

I know it's a framework specific error but imo it makes more sense to place it here. If I should post first in the nuxt issues, I will do that.
Expected Behavior
No response
Actual Behavior
No response
Swiper version
9.2.4
Platform/Target and Browser Versions
nuxt 3
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

The same issue happens in next.js aswell. So it's not framework related.
https://stackblitz.com/edit/nextjs-k3yjfv?file=pages/index.js

Hello. I had the same problem and I found a solution. You need to add attribute init="false" to swiper-container, then initialize slider in mounted hook. Check this section: https://swiperjs.com/element#parameters-as-props

That doesn't seem like a fix and more like a workaround to me. I will try it anyways. Thanks for the suggestion!

@alexovn : How to initialize, could you share the code please? I recognized that I only have the hydration mismatch when I'm using the 'nuxt-delay-hydration' module.

Okey. You have several ways how to deal with it. First approach, just to use all swiper params and methods in the template.  It seems that it works well now. Just check swiper docu. Second approach, do swiper init in onMounted hook:
*** NUXT 3 ***

<template>

    <button
      :class="{ 'opacity-100 !visible': showPrevBtn }"
      type="button"
      aria-label="slide left"
      @click="slidePrev">
      Arrow Left
    </button>

    <ClientOnly>
      <template #fallback>
        Loading...
      </template>
      <swiper-container
        ref="slider"
        init="false"
        @init="onSliderInit">
        <swiper-slide
          v-for="(category, idx) in categories"
          :key="idx">
          <NuxtLink
            :to="`/catalog/${category.slug}`">

              {{ category.name }}

          </NuxtLink>
        </swiper-slide>
      </swiper-container>
    </ClientOnly>

    <button
      :class="{ 'opacity-100 !visible': showNextBtn }"
      type="button"
      aria-label="slide right"
      @click="slideNext">
      Arrow Right
    </button>

</template>

Simply add the components to nuxt.config.ts.
export default defineNuxtConfig({
  vue: {
    compilerOptions: {
      isCustomElement: (tag) => tag.startsWith('swiper-'),
    },
  },
})


feat(anvil): switch to alloy types

Motivation

Closes #8084
Blocked by: https://github.com/alloy-rs/alloy/pull/931
Solution

Use Anvil types from Alloy in favor of local types
Upstream changes in Alloy now handle deserialization issue in MineOptions correctly
Context
Tagged @moricho as co-author for his prior work here: https://github.com/foundry-rs/foundry/pull/8098

Test failure appears to be unrelated (cc @grandizzy)

Test failure appears to be unrelated (cc @grandizzy)

yep, going to fix it, the problem is test_invariant runs all test_invariant_* tests but does not respect their seed


Fixed Travis builds

Tried updating postgresql-9.4-postgis package to postgis-2.3, and it seemed to work.

I’m just going to merge this one, since it makes no changes to the library and only modifies the CI script to work again.

Thanks!


added an option to not index arrays using an index_array flag

By default, the index_array option is ignored, but when it's set to false, the original array is returned attached to the key normally created.  This might be a nice option for the hashes as well.  And some mods to the readme.md file would be valuable, but how does this look?

There we go.  Bug fixed, test added, and it looks like this is working smoothly.

thanks, will check.

Sorry for late reply. I don't understand the use case, but looks good to me.
If you want same feature for hash (in future), how about renaming the option name to flat_array or flatten_array ?

No worries at all.  I've renamed index_array to flatten_array (good suggestion), and I've updated the readme to mention this option.  The use case is simply to make it possible to have varied length json arrays insertable directly into standard SQL tables.

LGTM. Thanks.

<3


Feature Idea: Declaration count threshold

First of all, thanks for this tool, it's really promising!
I recently ran it on Ruffle, and found that it moved dozens of dependency entries to the workspace Cargo.toml.
Which is fine, it's what it says on the tin, after all...
But I don't want to do that - instead, I'd like to make only those dependencies workspace-level ones that are declared in at least 2 or 3 different crates.
Do you think this is something you'd be willing to add as a feature? :blush:

Yes, the current philosophy is "move everything to [workspace.dependencies]. We could consider a threshold, but I'd like to have #2 before adding it. That'd allow you to enforce that the threshold is consistently met in CI.


Support to create materialized view

This commit support to create materiliazed view.
The syntax of stmt is following:
ALTER TABLE [Table name] ADD Materialized View [MV name] AS
SELECT select_expr[, select_expr ...]
FROM [Base table name]
GROUP BY column_name[, column_name ...]
ORDER BY column_name[, column_name ...]
The AddMaterializedViewClause is used to check the semantic of stmt in the first step.
Now, the where, having, limit clause is forbidden in ADD MATERIALIZED VIEW.
Also the aggregation function is restricted in SUM/MIN/MAX.
The second step is to validate stmt according to metadata of base table.
For example, the aggregate type of mv column must be same as the aggregate type of base column in aggregate table.
The last step is to prepare index of mv and add this new mvJob in Handler.
The handler will asynchronous process this new mvJob.
ISSUE-2101

I am writing unit test.


Replace Random Greeting with something cooler

Random greeting is really tacky. Replace it with fun facts?

Are you intending to create these issues in the Google-owned repo? Or do you mean to create them in your personal copy?

Oops, that was supposed to be in my personal copy! My bad.


Large PNG output

This library is great but the only thing what is really frustrating is that the png files even when resized to equal size get around 30% larger.
I would like to try with the libimagequant and playing with the quality option but looks like most of those packages which are required for custom libvips build can't be installed in Debian 9 with apt-get.

The availability of libimagequant-dev from the apt package manager requires Debian 10 onwards.
https://packages.debian.org/buster/libimagequant-dev
This is a limitation of Debian rather than sharp, but please don't take out your frustration either here or there.

Alright I got it installed from their Github repo.
I compared the results with and without the palette option.
await sharp('image.png').toFile('output.png');
Output is 432 kb (took 134 ms)
await sharp('image.png').png({palette: true}).toFile('output.png');
Output is 92 kb (took 850 ms)
The source image used had original size of 333 kb.
Is it normal that the palette or image quant thing takes around 6x longer?
The output is significantly smaller though.
What was the reason why libimagequant wasn't added to the project and needs to be installed manually btw?

The prebuilt binaries provided by sharp for libvips and its dependencies do not include GPL-licensed or patent-encumbered software.

I hope this information helped. Please feel free to re-open with more details if further assistance is required.


Selected element should be invalidated when not visible anymore

Currently, if you dismiss the UI the selected element is part of, Outlines still renders its outlines, but a better user experience would be to invalidate it.

Addressed with 9ddc7c4a5741c3cfd00bae58cd2fbe913e85580e.


Extensive Loading in case of large files

Describe the bug
First of all thank you for this beautiful and excellent app.
When a large file is selected for transfer,there is extensive loading(in my case the file was >5gb).
However similar apps to local send have little or no loading when sending the same file, I don't know if it has to do with the specific way local send caches or transfers files but the loading time is way too much(around 6 minutes)
To reproduce
https://github.com/localsend/localsend/assets/72438196/23097e17-2443-4898-bc86-24fb1f696ea1
Expected behavior
The local time of the file should not exceed 1-2 mins as it becomes annoying,also similar apps have little to no loading time
Screenshots
No response
Desktop (please complete the following information)
Android 11
1.10.0
Smartphone (please complete the following information)
Realme 6 pro(RMX 2061)
Android 11
1.10.0
Additional context
No response

This is a Flutter issue as it needs to copy the file to a temporary path to be able to work with.
Specifically, this happens on Android and iOS as far as I know.

I just noticed that this problem is not present when you are sending a folder. I just selected a folder with about 5 files, which makes a total of 17GB and it just loads instantly.
So I'm thinking there might be a workaround for individual files too

I just noticed that this problem is not present when you are sending a folder. I just selected a folder with about 5 files, which makes a total of 17GB and it just loads instantly. So I'm thinking there might be a workaround for individual files too

Thanks for the tip

So is this problem caused by Flutter, and therefore cannot be resolved? Additionally, I believe this issue not only leads to extended waiting times for writing large files to the cache but also significantly consumes the storage space on the mobile device. Let me illustrate with an extreme example.
Suppose I need to send a 20GB file, but the remaining storage space on my phone is already less than 20GB. In such a scenario, it seems that the file may not be sent, which is quite problematic.
Therefore, I am keen on finding a solution to address this issue. I am concerned about the substantial impact it has on the user experience, particularly in situations where users might want to send large files.
I hope this matter receives the attention of the project developers, as resolving it would greatly enhance the overall functionality and usability of the application. Your consideration and assistance in resolving this concern would be highly appreciated.
所以这个问题是因为Flutter问题导致的，因此无法解决吗？
另外我认为这个问题除了导致发送大文件需要长时间等待写入缓存，还大量占用手机的存储空间。我举一个极端的例子。
我需要发送一个20GB的文件，但是我手机里的剩余存储空间已经小于20GB时，文件可能无法发送了，这显得很糟糕。
所以我很希望能够解决这个问题。
希望能够得到项目开发者的重视。

As a user with OCD tendencies, having to write to the disk every time I send a file can impact the write lifespan of the storage. At least as a user, it creates a psychological discomfort.

@luiguangguan I am aware about this problem. The workaround would be to move the large file into a separate folder and send the folder instead.
There is an issue that tracks the current problem: https://github.com/miguelpruivo/flutter_file_picker/issues/561
Theoretically, it should be possible to fix this by somehow integrating the fork https://github.com/abhi16180/flutter_file_picker that doesn't copy the file if MANAGE_EXTERNAL_STORAGE permission is given.
However, this fork is already outdated compared to the upstream file_picker package. I wish that this fork gets somehow merged.

Hey,thanks for explaining the cause of the issue,however what @luiguangguan says makes complete sense,other similar apps don't seem to have this problem,as a newbie coder i think this might be due to them using java or some other workaround🤔,but i think that the said workaround needs to be implemented as considering the virtual situation provided by @luiguangguan is quite realistic.

Closed with #1501


popovers: Migrate stream popover to tippy.

Description:
This PR is part of our ongoing effort to migrate from Bootstrap-based popovers to Tippy.
Known issues:

[x] The popover doesn't open instantly when the other stream popover is opened.
[x] Keyboard navigation is not working.

Fixes part of #23632.

Updated the PR to use the new API for toggling popovers. Also threw in some prep commits that update comments and fix the offset, so it's consistent now.
@timabbott, do you mind taking a look? You know the context from our work on the emoji popover.

Works for me in manual testing!

@shameondev can your rebase this one? Seems like it's pretty small so might be easy for me to integrate once it's ready.

Resolved merge conflicts; ready for review.

With the above changes, this looks good to merge, thanks @shameondev!


Command crashes when trying to connect to device

pySonoffLAN version: 0.3.0
Python version: 3.7.3
Operating System: Macbook

Description
Command crashes when trying to connect to device
What I Did
 pysonofflan --host <IP_ADDRESS> --loglevel DEBUG state
2019-08-16 00:53:07,517 - info: Initialising SonoffSwitch with host <IP_ADDRESS>
2019-08-16 00:53:07,518 - debug: Initializing SonoffLANModeClient class in SonoffDevice
2019-08-16 00:53:07,518 - debug: send_updated_params_loop is active on the event loop
2019-08-16 00:53:07,518 - debug: Starting loop waiting for device params to change
2019-08-16 00:53:07,518 - debug: send_updated_params_loop now awaiting event
2019-08-16 00:53:07,518 - debug: setup_connection is active on the event loop
2019-08-16 00:53:07,518 - debug: setup_connection yielding to connect()
2019-08-16 00:53:07,518 - debug: Connecting to websocket address: ws://<IP_ADDRESS>:8081/

Looks like you are on firmware v3, use my fork here https://github.com/mattsaxon/pysonofflan


Fixing issues with the main navigation and account bar styling.

Addressing issues from Brandon regarding the styling of the main navigation and account links. This branch fixes alignment issues with the small logo, main nav links, and account links. This branch also addresses the height of the account links so they now span from the top of the screen to the top of the green breadcrumbs bar.

Alignment looks good.
The "LOG OUT" button in the top right is uppercase but the "Log In" and "Sign Up" buttons are titlecase; should they all be titlecase?

:+1:


[BUG] Splitting window building-process in multiple builder functions does not show all windows but only the last one beeing called

What happened?
I have multiple windows that i need to build and in order to keep the main function neat and clean i wanted to split the build process of these windows into their own files/build functions.
// main.rs

let app = app::App::default().with_scheme(app::Scheme::Gleam);

// ...

// build new entry window
new_entry_window::build_ui();

// build loading window
loading_window::build_ui();

// build info window
info_window::build_ui();

// build main window
main_window::build_ui();

app.run().unwrap();

// loading_window.rs
// example builder of one of the windows

pub fn build_ui() {
    // app state
    let state = app::GlobalState::<AppState>::get();
    let cfg = state.with(|s| s.cfg.clone());

    // screen working area
    let (x, y, w, h) = app::screen_work_area(cfg.screen_num);

    // loading window
    let mut loading_window = window::Window::default().with_size(400, 90).center_screen();

    loading_window.set_label("Lade PDF...");
    loading_window.make_modal(true);
    loading_window.set_pos(x + (w / 2 - 400 / 2), y + (h / 2 - 90 / 2));
    loading_window.set_cursor(enums::Cursor::Wait);

    let mut loading =
        image::PngImage::load(std::path::Path::new("assets/hourglass1.png")).unwrap();

    loading.scale(60, 60, true, true);

    let mut loading_frame = frame::Frame::default().center_of_parent();

    loading_frame.set_image(Some(loading));

    loading_window.end();

    // window.show() would be here if i wanted it to be present at startup.

    // add window to app state
    state.with(move |s| s.wnd_load = loading_window.clone());
}

I am using the global state to be able to get a referance to one of the windows. When i .show() on any window, it only shows the last one. In this case the main window and not my "info" window which should open ontop of the main window. The main window gets displayed tho. Both have the .show() method beeing called on them.
I have also tried to use the global state in the main rust file to show both windows but it has exactly the same result.
I also noticed that the window i want to show too is flickering at startup so it gets created but closes immediatly and only the last one beeing called is visable.
My guess is it has something to do with scoping of the build functions. In that case, what is the best way to split out the build process of larger projects without that happening?
What is the expected behavior?
The main window and the info window should both be visible at the same time.

Hi
The build_ui function you posted doesn't call show(), so where are you calling it?
Is it in main(), or on the main thread? Or are you perhaps calling it from a different thread?
Also what's in AppState? It seems you're keeping references to all windows, is that correct?

Sorry I wasn't specific enough! Yes I use the app::GlobalState to store my window referances (window.clone()) and I call window.show() method in the build function of the specific window i want to show. All single threaded.

For whatever reason only the last build-method-called-window get's to be displayed and if i comment out the main_window::build_ui() bethod then the next one above that calls window.show() on itshelf gets shown. But again only that one... the funny thing is the program has already worked when I had the whole UI/Window stoff all packed in main (was pretty messy). So I decided to try to cleanup my code. Is this the best method of splitting building functions in fltk to different files?

I'll try to investigate on my side and create a reproducer. Currently I would recommend replacing the window members in your AppState with an Option. If the window is default initialized then overwritten perhaps not all state is preserved.
If you use an Option, then you can avoid this, and just try:
state.with(move |s| s.wnd_load = Some(loading_window.clone())); // etc

Glad to hear it :)
Thank you


Apply Pin visibility on creation

#608
Sets the pin's style to be enabled/disabled based on the IsVisible flag.

@pauldendulk I thought, I approved this PR. But it seems, that this didn‘t worked. Something I did wrong?

The review and the merge are separate. First you have to do a review and approve (as you did) and then you have to press the merge button below, and then confirm merge.
This is so you could setup a process where multiple reviewers have to approve before you can merge.

Ah, ok, I didn‘t see this. Perhaps next time 😉


Create-react-app can't start after installation

Describe the bug
After installing create-react-app using npx create-react-app my-app --template typescript, I tried starting the app using npm start but the starting process throws the following error in the terminal:
$ npm start

><EMAIL_ADDRESS>start C:\Users\khoth\OneDrive\Bureau\Mehdi's projects\my-app
> react-scripts start

i ｢wds｣: Project is running at http://<IP_ADDRESS>/
i ｢wds｣: webpack output is served from
i ｢wds｣: Content not from webpack is served from C:\Users\khoth\OneDrive\Bureau\Mehdi's projects\my-app\public
i ｢wds｣: 404s will fallback to /
Starting the development server...

Failed to compile.

./src/index.tsx 1:65
Module parse failed: Unexpected token (1:65)
File was processed with these loaders:
 *<EMAIL_ADDRESS> * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
> $RefreshRuntime$ = require('C:/Users/khoth/OneDrive/Bureau/Mehdi's projects/my-app/node_modules/react-refresh/runtime.js');
| $RefreshSetup$(module.id);
|

Did you try recovering your dependencies?
Yes, I tried deleting the package-lock and node_modules folder then running npm install again, which did not work.
Then, I also tried deleting the whole project folder then running the npx command again which also failed.

$ npm --version
6.14.15

Which terms did you search for in User Guide?

I read through the guide but nothing matches my issue
Environment

npx: installed 67 in 14.124s

Environment Info:

  current version of create-react-app: 4.0.3
  running from C:\Users\khoth\AppData\Roaming\npm-cache\_npx\11548\node_modules\create-react-app

  System:
    OS: Windows 10 10.0.19042
    CPU: (6) x64 AMD Ryzen 5 4500U with Radeon Graphics
  Binaries:
    Node: 14.18.0 - C:\Program Files\nodejs\node.EXE
    Yarn: Not Found
    npm: 6.14.15 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: Not Found
    Edge: Spartan (44.19041.1023.0), Chromium (94.0.992.38)
    Internet Explorer: 11.0.19041.1202
  npmPackages:
    react: ^17.0.2 => 17.0.2
    react-dom: ^17.0.2 => 17.0.2
    react-scripts: 4.0.3 => 4.0.3
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce

(Write your steps here:)

install the project using npx create-react-app my-app --template typescript
run it by typing npm start into the terminal

Expected behavior

Getting the create-react-app homepage on my browser
Actual behavior

Got this error instead on my browser

I did create a new folder with a single word as its name and it worked


don't forward declare as class and later define as struct

Signed-off-by: Stefan Naewe<EMAIL_ADDRESS>

Thanks.
I also spotted this when I did a Visual Studio build - but I've made the change the other way (the Not struct is now a class).
So I'm going to close this PR but will mention it in the commit message.


non partition to partition sdk code changes

Added sample for reading item from non partition container , also bumped the version to <IP_ADDRESS>-preview

Closing this PR as it is outdated
Please check the latest one
https://github.com/Azure/azure-cosmos-dotnet-v3/pull/116


Captcha validation for user sign-up

We are currently experiencing user registration spam on wakapi.dev. Apparently, somebody is running a script to repeatedly create fake accounts with allegedly real e-mail addresses (wow, thanks... 👏🙄 ...). This is why user registration is currently disabled. Rate limiting (#628) doesn't help, because they are using a different IP address each time. Let's try add captchas (sorry to all legitimate users...) to prevent this nonsense.
Google reCaptcha would be most reliable and seamless for users, but, on the other hand, I'd like to keep Wakapi fully self-hosted and don't have it send any data to external (US-based) services. Lets try https://github.com/dchest/captcha and see if it's sufficient.

A different path (specifically for wakapi.dev) would be to include bad IP checking into the reverse proxy sitting in front of Wakapi. Request IPs could be checked against AbuseIPDB for POST /signup, see https://caddy.community/t/plugin-idea-bad-ip-checker/23265.


Getting Track Information Example

It'd be great to see an example of what it takes to get the track information, especially given I don't have access to a Denon controller to test.  The example would be useful just to see what kind of work is necessary and available from a 3rd party perspective.  Thanks!

Hello @aw-was-here
I made a sample implementation in https://github.com/Jaxc/DenonDjTrackInfo
If you have any suggestions to make PyStageLinQ better I'm all ears :)

OK that was very helpful! Thanks!
A core problem I see is that PyStageLinQ expects to own the asyncio loop with callers only being able to process inside the callback.  For large projects, that might be problematic if there is already an asyncio loop.  That said, it may be desirable to move it to a separate process anyway due to the GIL.
I'm also not sure how the core loop ever ends short of an exception being thrown? How is cleanup expected to be done on exit?

A core problem I see is that PyStageLinQ expects to own the asyncio loop
I did consider this at one point, but I never figured out a good way to solve this, as PyStageLinQ needs to spawn a bunch of ijobs internally. But If you are already in a asyncio context you can try to start PyStageLinQ with PyStageLinQ._start_StageLinQ instead of PyStageLinq.start. The only thing the "start" method does is asyncio.run(self._start_StageLinQ()), so I think this could be a possible solution.

I'm also not sure how the core loop ever ends short of an exception being thrown
Once again I tried to figure this out and failed. What I ended up doing was to use the del method to clean up as good as possible when the class is killed. Looking at the code again I see that I don't kill off the subprocesses cleanly, so I'll have to take a look at it to see whats going on. If you have any better idea of how to solve it I'm all ears

Give me some time to change my app (https://github.com/whatsnowplaying/whats-now-playing) to take asyncio source inputs (a project that has been on the backburner for a while now) and I'll probably have some more concrete ideas. haha.  Thanks.

Sorry for not getting back to you, I've been really busy at work. Anyway tell me if you find anything that needs fixing or if I've done any other thing not so extensible

I got distracted as well. Sorry. :smile:  But what I started to do was pretty much do a wholesale replacement of PyStageLinQ.py.  Everything gets create_task'd and a threading.Event (to be thread safe) gets used to break out of the core loop instead of using an Exception.  stop() gets added as a new public method which would then set the Event to gracefully shutdown.  With those primitives in place, control goes back to the caller instead of being locked up inside PyStageLinQ.


Proposal for strongly typed config and plugin system

This proposal is based on explorations for an extendable plugin system by @dk1a, see #679
Terminology

“Strongly typed”: In the context of Typescript we call a type “strong”, if it includes specific instances of primitive values instead of the general type. Example: a type { field1: "value", field2: 1 } is strongly typed, { field1: string, field2: number } is not.

Motivation

With a strongly typed config, we’re able to dynamically define types for recs, the upcoming composite datastore (#641), and more, without the need for code generation. A dynamic type definition is usually easier to maintain than logic for code generation, and errors can be caught more easily.

Current Situation

We rely on zod for config validation, which unfortunately does not support strong types (only weak primitive types like string, number etc are returned)
Another requirement next to strong types is an extendable plugin system for the config, which got started in #679.

It is important that plugins are able to define their own config types, and expand/transform the existing config. This makes it much more complex to achieve strong config types.
Currently we solve the requirement of plugins extending the config types and transforming the existing config with an approach similar to Hardhat's, which involves overriding global type declarations and a global context, but unfortunately doesn’t support strong types (yet).

Proposal
TLDR: explore the interactive TypeScript playground for the explanations below
This proposal goes over an alternative approach for solving both requirements (strong types, config extendable by plugins). On a high level the config definition can be broken down in three stages:

The user defines the config based on an Input type, while keeping strong types
The config is expanded to an Expanded type, while keeping strong types
The expanded config is validated via zod, but the strong type definition from stage 2 is kept.

Every plugin defines an Input, an Expanded<T = Input> type, and a expandConfig function to map from Input to Expanded. Do distinguish plugins from each other in TypeScript, they also define a unique id string.
interface MudPlugin<Input = any, Expanded = any> {
  id: string;
  expandConfig: <C extends Input>(config: C) => Expanded;
}

The core config only expects a map of plugins. The config is later expanded by calling the expandConfig method of each plugin in order of appearance in the map. We use a map instead of an array, because it makes it easier to type check for the existence of expected plugins in the map. ([Object keys order is guaranteed since ES2015.](https://www.stefanjudis.com/today-i-learned/property-order-is-predictable-in-javascript-objects-since-es2015/))
type Plugins = Record<string, MudPlugin>;
type Config = { plugins: Plugins };

To illustrate the usage, here is an example for a Plugin A, which takes { field1: string } as config input, and expands it by copying the field1 value to expandedField1:
type InputA = {
  fieldA: string,
  plugins: {
    // By making PluginA part of the expected input type,
    // consumers receive a type error if the plugin is not included
    // in the config
    PluginA: PluginA
  }
};

type ExpandedA<T = InputA> = T extends InputA
  ? InputA & { expandedFieldA: T["fieldA"] }
  : never;

const PluginA = {
  id: "some-super-unique-plugin-id",
  expandConfig: function <T extends InputA>(input: T) {
    return {
      ...input,
      expandedFieldA: input.fieldA
    } as unknown as ExpandedA<T>
  }
} as const satisfies MudPlugin<InputA, ExpandedA<InputA>>;

type PluginA = typeof PluginA;

To use Plugin A, a consumer could define their config as follows:
import { PluginA, InputA } from "plugin-a";

const pluginConfig = {
  fieldA: "some-value",
  plugins: {
    PluginA
  }
  // Note `as const`, which turns config into readonly
  // and adds strong types
} as const satisfies InputA;

Alternatively we could provide a helper function to automatically infer the expected input type, so a consumer wouldn’t have to import InputA - while keeping strong types:
// Helper type to turn `A | B` into `A & B`
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

// Helper type to infer the input types from a plugins config as union (InputA | InputB)
type PluginsInput<P extends Plugins> = Parameters<P[keyof P]["expandConfig"]>[0];

// Infer the plugin input types as intersection (InputA & InputB)
type MergedPluginsInput<P extends Plugins> = UnionToIntersection<PluginsInput<P>>;

// Helper function to define the config while keeping strong types.
// We omit the `plugins` key from the required config because it is
// defined separately in this helper function.
function defineConfig<P extends Plugins, C extends Omit<MergedPluginsInput<P>, "plugins">>(
  plugins: P,
  config: C
): C & { plugins: P } {
  // We include the plugins in the output type
  return { ...config, plugins }
}

Now consumers can define their config like this:
import { PluginA } from "plugin-a";

// We have type safety in the config definition,
// and the resulting config object has strong types
const config = defineConfig({ PluginA }, { fieldA: "someValue" } as const);

Assuming we add another Plugin B, which expects fieldB: number as import, the definition would look like this:
import { PluginA } from "plugin-a";
import { PluginB } from "plugin-b";

// We have type safety in the config definition,
// and the resulting config object has strong types
const config = defineConfig(
  {
    PluginA,
    PluginB
  },
  {
    fieldA: "some-value",
    fieldB: 1
  } as const
);

Now, as mentioned earlier, one important requirement is the ability for plugins to expand the config (by adding more fields, expanding shortcut fields to the full definitons, setting default values, etc), and for us to maintain strong types, even with those arbitrary expansions, so other type definitions can depend on the fully expanded config.
Here is how we can achieve it:
// Helper function to apply all `expandConfig` functions
// TypeScript can't infer a strong type from this, but we can
// still achieve it by defining a helper type below
function expandConfig<C extends Config>(config: C) {
  let expanded = config;
  for (const plugin of Object.values(config.plugins)) {
    expanded = { ...expanded, ...plugin.expandConfig(config) };
  }
  return expanded;
}

// Helper type to turn a strongly typed config into a union of
// all `expandConfig` functions defined in the config
type CombineExpandConfig<C> = C extends { plugins: infer Plugins }
  ? Plugins extends Record<string, MudPlugin>
    ? Plugins[keyof Plugins]["expandConfig"]
    : never
  : never;

// Helper type to extract and merge the return types of a given union of functions
type MergeReturnType<T extends (...args: any) => any> = UnionToIntersection<ReturnType<T>>;

// --- Example Usage ---

// config has strong type { fieldA: "val", fieldB: 1, plugins: { PluginA, PluginB } }
const config = defineConfig({ PluginA, PluginB }, { fieldA: "some-value", fieldB: 1 } as const);

// Create a version of `expandConfig` with strong types,
// from which we can infer the merged strong return types
// of all `expandConfig` functions
//
// typedExpandConfig has type:
// <T>(config: T) => ExpandedA<T> | <T>(config: T) => ExpandedB<T>
const typedExpandConfig = expandConfig as CombineExpandConfig<typeof config>;
// ExpandedConfig has type:
// ExpandedA<T> & ExpandedB<T>
// = { fieldA: "some-value", expandedFieldA: "some-value", fieldB: 1 }
type ExpandedConfig = MergeReturnType<typeof typedExpandConfig<typeof config>>;

Additional considerations
Our current Store config definitions uses generic types to add additional type checks (to allow user defined Enums to be used as schema types and primary key types). To keep those additional type checks, the Store plugin can export its own defineStoreConfig, which just passes the config through, but adds type checks as before:
// Do arbitrary type checks, but return the strongly typed input
function defineStoreConfig<T>(config: T): T {
  return config;
}

const config = defineConfig(
  {
    StorePlugin,
    WorldPlugin
  },
  {
    // the Store plugin's config definition helper function can be
    // used inside the main helper function for additional type hints
    ...defineStoreConfig({ ... }),

    // For plugins that don't require their own additional type hints
    // we can just put the config options directly
    worldContract: "CustomWorldContract",
    // ...
  });

I want to separate 2 concerns here:

expanding the user config while keeping strong types
unglobaling plugins, making them an option of the config itself

the 1st part is compatible with the current setup, I basically forgot about it and add soon. The 2nd is more invloved and would much more significantly change the current approach to the config

Just came across this article:
https://devanshj.me/writings/the-four-declaration-pattern-for-typescript
Not sure if it's useful here but it reminded me of our plugin system and combining types

We have fully global plugins currently
https://github.com/latticexyz/mud/pull/1077 explores fully local plugins
Local types + global data is the worst combination, since local types are the hardest part and we should go fully local if we can do them well
Global types + local data remains unexplored, I provide some thoughts here

(I list cons, the pros are just an absence of another's cons; makes it easier to compare I think)
Fully global

Need 2 separate package exports for "library without side-effects" and "extender with side-effects"
Import graph is easy to mess up (the current implementation likely has minor bugs, or weird behavior at least)
Interface can't be inferred from a config extender, it needs a manual declaration merge
Declaration merging is an obscure feature, coming in people probably won't know it

import { mudConfig } from "@latticexyz/world/register";
import "@latticexyz/world/snapsync";

export default mudConfig({
  snapSync: true,
  tables: {
    CounterTable: "uint32"
  }
});

Fully local

The ideal version requires a feature typescript doesn't have (higher-kinded types)
The implementable version relies on hacks (type expansion hidden in userland, verbose boilerplate in tests)
Can have slightly worse type errors than interface merging
Can be less powerful, since the type/interface is never defined, only inferred (I don't have examples and not sure this is relevant)

import { mudConfig } from "@latticexyz/world";
import { snapsyncPlugin } from "@latticexyz/world/snapsync";

export default mudConfig({
  plugins: { snapsyncPlugin },
  snapSync: true,
  tables: {
    CounterTable: "uint32"
  }
});

Global types + local data

All the downsides of Fully global (type side-effects remain, which are a worse superset of data side-effects)
Types and data diverge if the plugin is imported but not used
The import now has from, which may or may not make imports even easier to mess up (example of confusing stuff where using export { mudCoreConfig, resolveTableId } from "@latticexyz/config/register"; instead of 2 lines would break things)

import { mudConfig } from "@latticexyz/world";
import { snapsyncPlugin } from "@latticexyz/world/snapsync";

export default mudConfig({
  plugins: { snapsyncPlugin },
  snapSync: true,
  tables: {
    CounterTable: "uint32"
  }
});

done!


Bump rake

Resolve the following security vulnerability: CVE-2020-8130

Thanks! Dependencies bumped in 0ca1fd8d50bd93a9db76fba08ee5ee7fcc21df3c -- closing this.


Fix redundant rebalance callback in LongPollingMockConsumer for Kafka >= 3.6

Rebalance listeners are invoked by MockConsumer since Kafka 3.6.0 (https://github.com/apache/kafka/compare/3.5...3.6#diff-0ebcab2d2727abe3f0f1e3a94321b068ef2478911a33861d072a7a2ecbb1cf1f). Doing it manually is no longer necessary.
The redundant listener invocation caused test failures, for example PCMetricsTest (see https://github.com/confluentinc/parallel-consumer/pull/762#issuecomment-2108553270).
Refer to https://github.com/confluentinc/parallel-consumer/pull/762#issuecomment-2110677240 for more details.
Checklist

[x] Documentation (if applicable)
[x] Changelog

/sem-approve


Support --env-file flag in docker service create

I noticed that --env-file flag has been removed from docker service. I believe there must be a reason behind it, maybe have something to do with service update concerns. However it makes it harder for me to migrate from docker-compose based configuration to docker service.
So is there any planning to move --env-file flag back ? or any suggestion on the alternative?

Thanks for suggesting, however it looks like this is a duplicate of https://github.com/docker/docker/issues/24712, and a pull request is already opened, and currently under review https://github.com/docker/docker/pull/24844
Note that we have a "tracking" issue for options that are not (or not yet) implemented for services; see https://github.com/docker/docker/issues/25303.
I'll close this issue, as it's a duplicate, but thanks again


feat: using the ENV for configuration instead of a JSON file

Description

Related Issue

Fixes #18

Types of changes

[ ] Bug fix (non-breaking change that solves an issue)
[X] New feature (non-breaking change that adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (corrections, enhancements, or additions to documentation)
[ ] Other (please describe):

@izikdepth thanks.

you're welcome. thanks for assigning me the task.


[WIP] Simplify and fix IO

UDP minimally tested, TCP untested

I'm actually not going to be online for the next eight days (yikes) so I just gave this a cursory review and it looks good. Might want to get @mrpollo to be able to reproducibly test it and then approve its merge.


lint warnings

There are 61 lint warnings in the CI job output
60 warnings are about 'set-output' deprecation and one is about 'save-state'.
Here are some examples:
[lint](https://github.com/intel/intel-device-plugins-for-kubernetes/actions/runs/3248409090/jobs/5330874205#step:3:26)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

[lint](https://github.com/intel/intel-device-plugins-for-kubernetes/actions/runs/3248409090/jobs/5330874205#step:5:19)
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

[Build image (intel-fpga-plugin, docker)](https://github.com/intel/intel-device-plugins-for-kubernetes/actions/runs/3248409090/jobs/5330875070#step:4:15)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Most of warnings come from image building, as the last example.

@bart0sh hmm I can't find them. The blog post suggests to at least check the github runner version. What else could we do? Our actions are automatically updated.

it looks they are gone now


How to get all boundary values of a drawn circle

I want to know which attribute can get the boundary value of the graph, or how to get the boundary value

You can use the pm:create event to catch the new drawn layer and then use layer.getBounds() to get the boundary.
// listen to when a new layer is created
map.on('pm:create', function(e) {
  console.log(e.layer.getBounds())
});

https://jsfiddle.net/falkedesign/Lgmfjsqk/


NPM support

Addresses #15
Incorporates some quick changes made by @greenSnot to make it available here: https://www.npmjs.com/package/kd-tree-javascript

Fixing the removal of this.kdTree = kdTree which killed access to kdTree global if including the JS file directly.

Just realized that @greenSnot's fix made sense when using require() but failed when including directly into the page. I found a solution that works for both scenarios.  https://github.com/ubilabs/kd-tree-javascript/pull/17/commits/fa94cdb2f07a4c9e12be107ea214f1b95d408ac1

Thanks for this! I also merged @greenSnot's fork into this repo.


Consider using RapidJSON instead of ujson

Why would you not want to use ujson?
ujson has not seen a release in over 2 years, and looks a bit like an abandoned project.
I have had ujson fail to build on bleeding edge systems.
Why would you want to use RapidJSON?
Actively developed.
When I did performance testing I found RapidJSON to be comparable to ujson (when using NM_NATIVE).
Has some really nice features, such as:

Fast datetime parsing/serialisation to either UNIXTIME or ISO8601, with timezone suport.
Optional Decimal support for numbers in JSON so as to retain 100% numerical accuracy. (you can do this with json, but not ujson).

On a related note, I wrote some partials that wraps the functions to behave the way I want them, and defines their types a bit better to help catch mistakes easier:
json_dumps: Callable[[Union[dict, list]], str] = functools.partial(
    rapidjson.dumps,
    ensure_ascii=False,
    number_mode=rapidjson.NM_NATIVE,
    datetime_mode=rapidjson.DM_ISO8601 | rapidjson.DM_SHIFT_TO_UTC
)
json_loads: Callable[[Union[str, bytes]], Union[dict, list]] = functools.partial(
    rapidjson.loads,
    number_mode=rapidjson.NM_NATIVE,
    datetime_mode=rapidjson.DM_ISO8601 | rapidjson.DM_NAIVE_IS_UTC
)

Interesting. I'll check it out today and probably include in the next update (probably Friday night)

If a library does everything that is needed, there is no reason to update it. Not having any new releases could simply be because it works as expected. It is not like the json spec changes every month.

I understand what you mean but ujson has well known issues that are pending a fix for too long. Maybe it's time to move.


Java CI tests

This PR:

Renames the GHA from clients-java-maven-publish.yml to clients-java-build.yml, following the same naming convention used by the go and node clients.

Adds CI actions for validating the Java client on various platforms and Java versions.

Validates the binary uploaded to the GitHub Maven repository during push actions.

Validation tests:
The validation test instantiates a new Client, assuring the JVM can load the correct platform-specific JNI code from the JAR package.
The Java client can run on the following OS:

Mac OS
Windows
Linux (Ubuntu)

The Java client can run on the following JDK+Linux distros:

OpenJDK (Oracle Linux, Debian, and Alpine)

Azul Zulu:  (Ubuntu, Debian, CentOS and Alpine)

Eclipse Temurin (Ubuntu and Alpine)

Amazon Corretto: (Amazon Linux and Alpine)

Not covered:
The Java client can run on aarch64  (Mac OS and Linux), but those platforms are not natively supported by GitHub actions.
Dependency:
It's expected this CI to fail on Mac OS and Alpine-bases distros until #268 is merged.
Closes #252

cc @eatonphil


Page section not rendering

The Client credentials provider section of this document doesn't seem to appear on the rendered page at https://learn.microsoft.com/en-us/graph/sdks/choose-authentication-providers

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4537f77e-a8e8-e3f1-9cc4-2fd930db7ada
Version Independent ID: 46396fa2-f7e2-322e-5e76-f9e2d17d1b48
Content: Choose a Microsoft Graph authentication provider - Microsoft Graph
Content Source: concepts/sdks/choose-authentication-providers.md
Product: non-product-specific
Technology: microsoft-graph
GitHub Login: @MIchaelMainer
Microsoft Alias: MSGraphDocsVteam

Closing as this seems to be fixed. Thanks.


Change default ENI property FirstInterfaceIndex to 0 and improve IPAM logic in ENI & Azure modes

See commit msgs.

test-me-please

test-me-please

test-me-please

test-me-please

Previous push consisted of rebasing and addresses @tgraf's suggestions about the upgrade guide.

test-me-please

test-runtime

test-me-please

test-me-please

hit https://github.com/cilium/cilium/issues/11847 merging...


BREAD not deleting images

Version information

Laravel: v5.7
Voyager: v1.1
PHP: 7.2
Database: MySQL 5.7.16

Description
When deleting record created with BREAD the image is not deleted from the storage.
Steps To Reproduce
Steps to reproduce the behavior:

Create a DB table with column for image (path)
Create BREAD for that table and specify image on that column
Add a record with an image
Delete the record
See the image in the storage that had to be removed but wasn't

Expected behavior
Image should be removed from the storage since it belongs to the record.

Please show us a screenshot of your bread-settings for that table

This should be fixed in current release, if you are still experiencing the problem please open another issue.


load_balancing: revamp methods for consistent usage

Updates the load balancing methods to:

Ensure we have a consistent experience for user, zone and account
level resources.
A consistent method signature where ctx and params are available
to all methods and filtering is performed based on the values passed
in. See experimental docs for details.
Modify.. => Update to match other method conventions.

Unblocks https://github.com/cloudflare/terraform-provider-cloudflare/issues/1876

@gofish this should now be in the right state. could you take another pass over this to make sure i haven't missed anything?

I noticed a few places where we would error with requested resource container  is not supported for this endpoint when in fact it is the only container supported for the endpoint.

good find! this would have haunted future jacob during debugging for sure 😓

Also, I'm wondering why we don't have any PATCH endpoints supported. Perhaps we just haven't gotten around to adding them, but curious if this is intentional

unsure, @gofish may know however, once they are publicly documented, they are welcome here!

Codecov Report

Merging #1084 (5d926b7) into master (e39278e) will increase coverage by 0.29%.
The diff coverage is 68.31%.

@@            Coverage Diff             @@
##           master    #1084      +/-   ##
==========================================
+ Coverage   49.94%   50.24%   +0.29%
==========================================
  Files         115      117       +2
  Lines       10991    11232     +241
==========================================
+ Hits         5490     5643     +153
- Misses       4338     4386      +48
- Partials     1163     1203      +40

Impacted Files
Coverage Δ

errors.go
40.57% <ø> (ø)

pages_project.go
50.81% <ø> (ø)

stream.go
64.91% <ø> (ø)

teams_accounts.go
53.84% <ø> (ø)

teams_devices.go
52.63% <ø> (ø)

access_service_tokens.go
66.29% <53.84%> (-2.13%)
:arrow_down:

api_shield.go
53.84% <53.84%> (ø)

url_normalization_settings.go
53.84% <53.84%> (ø)

load_balancing.go
59.40% <68.33%> (+0.39%)
:arrow_up:

workers.go
69.38% <72.72%> (-0.04%)
:arrow_down:

... and 9 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Crashes a few seconds after song loads

Describe your bug here.
So I'm trying out a song for my mod but suddently it keeps crashing without showing any errors or causes, please help me if y'all can.
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
Nah

u needed show error logs

u needed show error logs

there's no error logs displaying anywhere, there's no crash folder too

u needed show error logs

there's no error logs displaying anywhere, there's no crash folder too

did you check song file is ogg format?

a

ofc

You have the suficiente ram to load the song?

normally, yes

You have the suficiente ram to load the song?


selection id builder for table

I am trying to add a selection manager to my visual.
Here is my capabilities config: https://github.com/woodbuffalo/powerbi-leaflet/blob/master/capabilities.json
We are using a simple table. In your docs the selection ID builder looks like:
let selectionId = host.createSelectionIdBuilder()
            .withCategory(categorical.categories[0], i)
            .withMeasure(dataValue.source.queryName)
            .withSeries(categorical.values, categorical.values[i])
            .createSelectionId();

Here is where I am trying to implement the builder: https://github.com/woodbuffalo/powerbi-leaflet/blob/selection/src/visual.ts#L47-L49
Could you post an example of how we would implement our builder?

the links show a 404. is your repo private?

@spatney Oops sorry. Just made public.

@spatney  The docs for ISelectionIdBuilder and ISelectionManager don't seem to be included in the powerbi ts docs (http://microsoft.github.io/PowerBI-visuals/modules/powerbi.html). Is this an older version of the module? If so how would I get to the latest docs?

Looks like there is already id's generated for each value in the table if I inspect the dataview within the dev tools. Can I simply use these?

We'll add some docs for how to do this for tables soon. Also, https://github.com/woodbuffalo/powerbi-leaflet/blob/selection/src/visual.ts#L4-L5, instead of loading it from the CDN can you just compile it into the visual? This will ensure you don't get strange race conditions.

Great thanks. Regarding the CDN yes definitely but how would CSS be loaded?

I believe you can just add the CSS file to the project, rename the extension to '.less', and import it in visual.less. Alternatively you can import your CSS directly into visual.less. This stackoverflow thread has some suggestions.

the sample you offered seems to have several problems:

line47: this doesn't reference to the visual.
line47: selectionIdBuilder is called instead of directly referenced.
line48: ISelectionIdBuilder.withSeries doesn't accept DataViewTableRow[] as first argument.

it compiles just because the wrong reference accidently skips the syntax check on withSeries. problem 3 seems to be an blocking issue to support selection for table view.
is there a more clear sample?

Hello,
I have same problem as samississipi:

the sample you offered seems to have several problems:

line47: this doesn't reference to the visual.
line47: selectionIdBuilder is called instead of directly referenced.
line48: ISelectionIdBuilder.withSeries doesn't accept DataViewTableRow[] as first argument.

Duplicate of #77

duplicate


Conditional timer doesn't follow button position setting

Checklist:

[x] I updated to the latest version available
[x] I cleared the cache of my browser

Release with the issue: 0.4
Last working release (if known):
Browser and Operating System: Windows 11 - Firefox

**Description of problem: Have timer set and working. When using a condition to show an additonal card if the first is running, the second card doesn't follow button position setting. Buttons stuck on showing at right, even if set to bottom. **

Javascript errors shown in the web inspector (if applicable):

Additional information:

type: vertical-stack
cards:

type: custom:flipdown-timer-card
entity: timer.kitchentimer
show_error: false
show_title: false
theme: null
show_hour: auto
styles:
rotor:
width: 60px
height: 90px
fontsize: 6rem
button:
width: 60px
height: 30px
fontsize: 1.5em
location: bottom
type: conditional
conditions:

condition: state
entity: timer.kitchentimer
state: active
card:
type: custom:flipdown-timer-card
entity: timer.kitchentimer2
show_error: false
show_title: false
theme: null
show_hour: auto
styles:
rotor: null
width: 60px
height: 90px
fontsize: 6rem
button:
width: 60px
height: 30px
fontsize: 1.5em
location: bottom

Sorry not sure why it's taken over the formatting like that.


corrected links to documentation from Examples

All pointed to the documentation for .

Thanks!  This is great.  The Travis.ci error is unrelated.  Tracking it down now.

@jcrist any thoughts on what is happening here?

The error occurs in that test run only because we collect doctests in that run. The failure is caused by the distributed recipe in the main channel not having s3fs as a dependency, while it is a dependency in the conda-forge channel (https://github.com/conda-forge/distributed-feedstock/blob/master/recipe/meta.yaml#L37). The main channel must have recently updated. Not sure why the difference in recipes, I would have expected them to be the same.

Error fixed in #1559. Merging this now, thanks!


Tool icon size is not specified.

In standart there is function
const char* Tool::getTexture();

Size of returned image is not specified.

Unwanded. Do resize.


Update google-chrome to 65.0.3325.146

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Thanks for the PR!


node-sass

Could you please add node-sass and revert to scss files

@filipesilva would you be interested in a pull request for SASS support? I have it working locally.

I am not currently interested in that, no. It is outside the scope of this repository. Thank you for asking though.

@zigzag95, you can check out https://github.com/ospatil/angular-quickstart-lib. I have added npm scoped package and sass support.

@ospatil Thanks for your work adding sass support! 😃 Your changes worked just fine for me.

[I know this is outside the scope of this repo, but I wasn't sure where else to ask this since issues aren't enabled on the Sass fork - sorry in advance..]

@ospatil did you get your fork working with Sass partial imports?  I was able to get scoped package and Sass support working, but the demo chokes on imports.

I notice that the .css file generated correctly has the content from the imported sass file, but the compiled .js component still points to the .scss file:

Is there an easy way around this? It seems that simply changing the JS import from .scss to .css would solve this, but I haven't found a way to run a find/replace after each tsc compilation (only after an NPM task).

I had the same problem. To solve it I added this to the inlineStyle (in inline-resource.js):
styleUrl = styleUrl.replace(/\.scss$/, '.css');

And it works perfectly with sass
So the function is like this now:
function inlineStyle(content, urlResolver) {
    return content.replace(/styleUrls:\s*(\[[\s\S]*?\])/gm, function (m, styleUrls) {
        const urls = eval(styleUrls);
        return 'styles: ['
            + urls.map(styleUrl => {
                styleUrl = styleUrl.replace(/\.scss$/, '.css');
                const styleFile = urlResolver(styleUrl);
                const styleContent = fs.readFileSync(styleFile, 'utf-8');
                const shortenedStyle = styleContent
                    .replace(/([\n\r]\s*)+/gm, ' ')
                    .replace(/"/g, '\\"');
                return `"${shortenedStyle}"`;
            })
                .join(',\n')
            + ']';
    });
}

Ahh that is much easier than where my brain was going! Thanks @sebelga!
Currently, my build-demo script simply runs tsc -p src/demo/. It seems that inline-resource.js is only called from build.js which is in turn only called when doing a full build of the library.. Did you add a call to inline during the build of the demo (npm run start)?

Ah yes that's another problem that I didn't solve as I am developing my library inside a Lerna project so I don't use the npm start from here... Sorry I can't help you there.

Darn. I'm currently npm-linking into my core project to develop, but can't hand off the project as complete until I solve this.
I hadn't heard of Lerna... looks pretty useful for this type of problem 👍
Thanks for the responses!

A good starting point for Lerna + Angular modules is
https://github.com/OasisDigital/scalable-enterprise-angular
good luck!

@sebelga what about import statements and variable in scss files. seems to be replace method not handle that

@ravinsinghd what exactly are you seeing that doesn't work? Are you seeing final CSS files with variables that haven't been transpiled? Or is this in relation to running the demo app?

@sebelga  i have some scss that import other scss, also scss files contain variables. so while doing build i want scss converted to css and inline to component.

Interesting.. with the above changes to the inlineStyles method, the build was working correctly for me. I did have to make some more changes to get the demo app working correctly with styles.

Thanks for @ospatil and @sebelga’s help. I have added sass support in my repo.
https://github.com/apeter10/angular-quickstart-lib

@apeter10  Thanks for forking.
I did notice that when you run in demo, the SCSS style template is not processed correctly. It is just handled like it's CSS and and nesting will not be applied.
You added some sass-build task which will create a CSS file for the build only.
Is there an easy way while running npm start to load in the SCSS template (like with anuglar cli)?


bigquery: modify CopyJob

Update CopyJob and CopyJobConfig to conform to the new design for jobs.

Added a system test for copy_table, which fails. I confirmed that it also fails from the command-line, and emailed BQ team about it.


add decoding for UUID

I stumbled upon issue #1126 while trying to decode a UUID using codable. As described there, encoding worked fine but decoding treated the field like json.
Added an else to cover the UUID case, matching the encode method functionality.

lint should pass now

Thanks for your contribution. Can you add some tests?

Added a UUID field to TestCodable. I figure that's the best way since it already has fields for date and other types.
I copy pasted apple's example UUID from foundation docs for the tests. May want to make it a constant instead. Let me know what you think!

Thanks Jan. Made the changes, tests passing. I put the uuid constant in TestHelpers, can move it elsewhere if needed

Tried splitting the lines that were too long into two lines, but that made the test fail. So I disabled the rule at those spots.


Generate dynamic routes, and only use prepopulated data from generate.routes

Hi,
Following your example on https://nuxtjs.org/api/configuration-generate#routes I am able to generate static html-files with dynamic routes. I.E. like so
<template>

    <vue-markdown>{{blogPost.content}}</vue-markdown>

</template>

into so
<!DOCTYPE html>

...

bold

...

As you can see I omitted the
else return { user: await backend.fetchUser(params.id) }

part of the toturial as I don't wish for the data to be fetched again on page load. But the component still tries to re-render, and cannot read property 'content' of undefined pops up on page load.
Is there a way to make the page not re-render on page load, or for the component to use the data on window.__nuxt__.data?
I tried to be as specific as possible, but please ask if anything is unclear!
Oh, and thanks for the help in advance :)

So yeah, after a 1000 searches and much sweat I came accross this issue #1051 which basically solves my problem 90% of the way. I'm using DatoCMS, and can use dato cli to dump my data into dist/data and copy the interceptor logic from nuxt-static and query my local data instead of querying the DatoCMS API.
From what I gather, 100% static site generation are planned after 1.0 release? If so, I'm looking forward to it!


Incompatibility of OIDC3VC setting options

There are some combinaisons which are impossible
if user chooses VC format ldp_vc with did:ebsi or did:jwk - Display message "The ldp_format is not supported by this DID method"
if DID method is did eddsa then Cryrto Holder Binding must be Off -> display message "Switch off Crypto Holder Binding for that DID Method"
if user chooses proof type = ldp_vp and VC format vc+sd-jwt or jwt_vc or jwt_vc_json then display message "This type proof cannot be used with this VC Format"

If user choose scope and draft 11 : display message "Scope is supported only with OIDC4VCI Draft 13"


Ignore case of login name for web.IsUserInGroup() extension method

Q
A

Bug fix?
yes

New feature?
no

New sample?
no

Related issues?
no

What's in this Pull Request?
Ignore case in web.IsUserInGroup() extension method. Currently this is a problem for on prem.
web.IsUserInGroup("groupName", "DOMAIN\\user"); // => false
web.IsUserInGroup("groupName", "domain\\user"); // => true

Hi @kmees, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Nice catch Kevin. Will merge this one.


Feature request: support for generic connector.

Would be great if we could add the FA generic connector to this terraform provider.
I am putting together a PR for this now.

Thanks for merging this in so quickly @MCBrandenburg, very much appreciated 🎉

Thank you for your contribution @melm73!


getRegionIndex: fix for integral IDs

:tada: This PR is included in version 1.7.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Select Example not working

Bug, feature request, or proposal:
The provided example for the select input does not work.
What is the expected behavior?
A working dropdown box with the example values.
What is the current behavior?
Error: "Can't bind to 'value' since it isn't a known property of 'md-option'."
What are the steps to reproduce?
Try to run this example:
https://material.angular.io/components/select/examples
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4.3.6,  Material 2.0.0-beta.10, typescript 2.5.2
Is there anything else we should know?

It should like you haven't included the MdSelectModule in your app.

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.
@KingdaCrash Please try include MdSelectModule.


POR file fails to get imported

Reported on Discord by GegenscheinZ#1847
Chrome on Windows 10

I have no idea where links.js is coming from. G reports the full path is:
https://assets.forge-vtt.com/bazaar/systems/pf1/0.551/module/apps/links.js

Foundry/Forge had reset G's version of PF1 to 0.551 instead of the current 0.82.5 - this obviously caused lots of problems.


Cursor is black in dark theme

VSCode Version: 1.8.1
OS Version: Windows 10 Enterprise

This happens when you remote into Windows 10 from Mac OS. The cursor is black in color in the dark theme which makes it really hard to see where it is.

Oh no! That's no good. Unfortunately I can't seem to reproduce the issue on my machine. A few Qs to help narrow it down:

Does the issue still occur when you launch VS Code w/ extensions disabled? From the command line: code --disable-extensions
Is this the Dark or Dark+ theme?
Does the same issue occur on other themes?

@abist does this link https://github.com/VSCodeVim/Vim#j-k-and-others-dont-repeat-when-i-hold-them-down help you out with the problem?

@abist This most likely sounds like an issue with the remote desktoping software you use.
When you run other software in the Windows 10 machine you remote into, do you experience the same issue?

Actually you're right! It seems to be a bug in Microsoft Remote Desktop.


Convert to python functional test failure

Looks like windows and mac currently.
  1) DataScience Native Editor
Editor tests
Convert to python:
     AssertionError: New doc not created: expected undefined to be truthy
at nativeEditorTestHelpers_1.runMountedTest (out\test\datascience\nativeEditor.functional.test.js:202:27)

Looks like this is failing again.

I unassigned @IanMatthewHuff  as whomever is free should try to fix this.


Anonymous mail with STARTTLS not supported by insecure flag

The --insecure flag currently combines several settings that are valid independently into a single option:

It forces the port to 25
It disables STARTTLS handling (with the intent of ignoring invalid TLS certificates)
It disables authentication

In my case, our internal mail server allows anonymous access, but requires TLS (and uses valid certificates). With the current code, using the --insecure flag causes this error:
error executing handler: EOF

I believe this is because the server closes the connection on port 25 when StartTLS is not called. Using smtp.SendMail(...) with a nil auth implementation works as expected (tested with a local build of the handler.)
I propose the following changes:

Remove the --insecure flag
Add a new --tls-skip-verify flag to disable TLS certificate checks while still supporting TLS connections.
Add a new --auth-method flag that can take values none, plain, or login with a default value of plain. This would also remove the enableLoginAuth flag. As an alternative, a new --anonymous flag could be added to disable the username/password check.
Require users to provide the existing --smptPort flag to use a non-default port

I've started implementing this, but wanted to file an issue for discussion as well since it involves breaking the current interface.

Given its breaking nature, might I suggest not completely removing --insecure, but maybe deprecate it by having it print an error (and maybe suggesting the appropriate new flag combinations?) and exiting?  The --help/usage could do so as well.


Create comments_and_escape_statements.py

added tutorial for comments and escape statements in python

Hi dear CodeWithBishal you done something wrong
connect  on my telegram

Dear CodeWithBishal you had done a wrong pull request
Please connect with me on my telegram @Royaleagle11
and on my youtube channel - https://youtu.be/5qnQjgdpFPg
Like , share , subscribe