GetxController onInit and onReady methods called twice

Describe the bug
It seems that for a specific case, onInit and onReady callback are called twice, the first time when the controller is added using Get.put (which is normal), and the second time when the controller is used in a GetX widget (which I think the initialization must be avoided if already done). This lead for me to create animation controllers and run HTTP queries two times...
To Reproduce
Steps to reproduce the behavior:

Create a simple controller
Call Get.put() with this controller, assign a tag to it
Create a page using this controller, instantiate the controller using a custom tag and then use it in GetX widget call, as the init parameter
The controller is initialized the first time when calling Get.put, and the second time in the initState of the GetX widget

Expected behavior
get should know when it is necessary to initialize a controller.
Flutter Version:
1.20.0
Getx Version:
3.8.0
Describe on which device you found the bug:
Samsung SM A7000
Minimal reproduce code
class PageController extends GetxController {
  final RxString _text = "Example".obs;
  String get text => _text.value;
}

class PageBindings extends Bindings {
  final String tag;

  PageBindings({
    @required String tag,
  });

  @override
  void dependencies() => Get.lazyPut(() => PageController(), tag: this.tag);
}

class Page extends StatelessWidget {
  final PageController controller;

  Page({
    Key key,
    @required String tag,
  }) : controller = Get.find(tag: tag),
      super(key: key);

  @override
  Widget build() => Container(
    child: GetX(
      init: controller,
      global: false,
      builder: (_) => Text(controller.text),
    ),
  );
}

Hi, initially I need to explain what you are doing:
  @override
  void dependencies() => Get.lazyPut(() => PageController(), tag: this.tag);

Here you have created a dependency of type PageController, with a tag.
  @required String tag,
  }) : controller = Get.find(tag: tag),

At that time the controller was created by calling Get.find() (Controller PageController, tag: "your tag" )
GetX(
      init: controller,
      global: false,

Here you used global = false.
This will literally create a new internal instance and pass it on to the children.
When creating an inner class, onInit is called.
class PageController extends GetxController {
  final RxString _text = "Example".obs;
  String get text => _text.value;
}

class PageBindings extends Bindings {
  final String tag;

  PageBindings({
    @required String tag,
  });

  @override
  void dependencies() => Get.lazyPut(() => PageController(), tag: this.tag);
}

class Page extends StatelessWidget {
  final PageController controller;

  Page({
    Key key,
    @required String tag,
  }) : controller = Get.find(tag: tag),
      super(key: key);

  @override
  Widget build() => Container(
    child: GetX(
      builder: (_) => Text(controller.text),
    ),
  );
}

This will cause it to be called only once.
This behavior is expected, since you can have an inner class in addition to the global class.
So, closing this.

Hi @jonataslaw, thank you everything is clear now, I've used init and global: false because I fear that the GetX widget will be unable to find the correct controller because I'm using a tag.
Maybe a new tag field in the GetX widget will be useful on this case ? So we will not obliged to create an external controller directly in the StatelessWidget but we will directly pass the required tag to the GetX widget:
class Page extends StatelessWidget {
  final String tag;

  Page({
    Key key,
    @required this.tag,
  }) : super(key: key);

  @override
  Widget build() => Container(
    child: GetX(
      tag: tag,
      builder: (controller) => Text(controller.text),
    ),
  );
}

What do you think @jonataslaw ?

Try
GetX<PageController>(
      tag: tag,
      builder: (controller) => Text(controller.text),
    ),


[EventHubs] update release date

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


How to plot hourly graph ?

Hi,
How can I plot hourly graph like this in prophet ?
Thanks !

Help someone??

Sorry for the slow response. Right now Prophet is based on daily data. Extending to hourly data is on the roadmap in #29. The model extends naturally to hourly data, the main blocker is that the R version uses the Date object type which needs to be swapped out for datetime. (And we'll need to handle holidays differently for non-daily data).

I'm going to close this and will post in #29 once this new feature is ready.


Add Metric class, implement metric methods and tests

Coverage increased (+0.06%) to 84.054% when pulling c27f4401e5806abb433e3acb773c86177326ece9 on mziccard:logging-metric into add9489b29a7703b41f81eabed462b86b8eef00a on GoogleCloudPlatform:logging-alpha.

/cc @lesv

LGTM - you could also checkin your Integration tests at some point.

you could also checkin your Integration tests at some point.

Yep, they will come soon


Update esptool.py to v2.5.0 in esp-idf

Hi everybody,
Is it planned to include esptool.py v2.5.0 in components/esptool_py?
Currently it is v.2.3.1 which has a bug on "chip_id" command. As a workaround I downloaded the esptool using "pip" but i think it could be merged in master branch.
Thanks

Thank you @projectgus.
I will wait for update.

esptool.py has been updating to v2.5.0 in master, as part of 57b601ab7


ABB IRB 6700 150/3.2

Hello, will ABB IRB 6700 150 / 3.2 be available with this plugin?

You can simply add your own robot by adding the model to the 3dm file and add its parameters to the xml file.

Done, thank you very much !
I'm trying to make a simple pick and place script with your plugin (only one box), but I'm struggling with the toolpath.
I created the Tool, the robot, the box and the planes (origin and target for the TCP). However, your example is very complex and doesn't really work (I wasn't able to find the commands to add/delete)
Are there any simpler examples? (for only one box to pick and place)
Thank you very much.
Regards,
Walid

De : Victor Lin<EMAIL_ADDRESS>Envoyé : jeudi 5 novembre 2020 20:59
À : visose/Robots<EMAIL_ADDRESS>Cc : Anenus<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Objet : Re: [visose/Robots] ABB IRB 6700 150/3.2 (#42)
You can simply add your own robot by adding the model to the 3dm file and add its parameters to the xml file.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/visose/Robots/issues/42#issuecomment-722760062, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARRJYE34KSSME2AVVRZW33TSONKAPANCNFSM4TBYJHLQ.


Fix typo in validation message

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


Paypal android sdk 2.13.0

Updated Android PayPal SDK to version 2.13.0 which fixes sandbox payments.

Thanks @amiuhle, sorry for the delay!


Media Player doesn't retain picture title information after drawing is complete.

Love this integration! Thanks for creating it!
Within the app I have my oasis mini set to pause after each drawing, I then control when and what it draws using this integration.
One issue that I've encountered is that, after it's done drawing and it goes to a paused state the media player's media title attribute changes. For example in the below image it changed to "The Noise" instead of "Seahorse".

Version: 0.7.6

This problem is two-fold. For one, the Oasis Mini advances to the next track automatically rather than reporting the state of the done image. This is why you see "The Noise" instead of Seahorse. You'll see the same advancement in the Oasis Mini app.
The discrepancy of title/picture you are seeing here is actually in the way the Home Assistant frontend renders images. In the code, this image has been marked as stale/invalidated, but the frontend is still using a cached version. But if you click on the image, do a refresh, or open it in a new incognito window, Home Assistant would then render the appropriate image for "The Noise".

😱


docs: add note about url whitelisting and remove incorrect update repository behaviour

create repository actually throws an error if a repository already exists
(verified by
testCreateExistingRepository).

ack


Use touches rather than changedTouches in touchstarted

It seems that the behaviour of Chrome on Android differs from the behaviour of Safari on iOS in the following respect: when a multitouch event is initiated by touching two or more fingers to the screen near-simultaneously, iOS Safari will fire a single touchstart event that includes all the touches (as both event.touches and event.changedTouches) whereas Android Chrome will fire a sequence of touchstart events:

one with touches.length == 1 and changedTouches.length == 1
followed by one with touches.length == 2 and changedTouches.length == 1

In other words, the behaviour on Android Chrome when the screen is touched with two fingers simultaneously is the same as the behaviour on iOS Safari when you touch it first with one finger and then a second.
The change in PR #169 makes it possible to ignore single-touch gestures on iOS Safari, by returning a falsy value from the filter function when there is only a single touch, but this fails on Android Chrome because the first touch of a multitouch gesture is never recorded by d3-zoom: when the second touch is processed, the changedTouches array contains only the second touch.
This PR changes the behaviour of the touchstarted handler to consider all the touches in the event, rather than just the new touches, which appears to resolve the problem.

So if I understand correctly: you use zoom.filter to ignore the first touch, but when the second touch comes down, we need to consider not just event.changedTouches (which only includes the second touch) but event.touches (which includes both). That makes sense.

Merged as c4734c2.

And reverted in 176ad733ca76be6b7e58ed3ca438ad5e088f8486 1.8.2.
This change broke the gesture it described on iOS Safari in the common case: when you touch it first with one finger and then a second. The problem is that when iterating over the event.touches in the second touchstart, it sets g.touch1 to be the same touch as the g.touch0 set on the first touchstart.
If you want to resubmit the PR, I think you’ll need something like this:
for (i = 0; i < n; ++i) {
  t = touches[i], p = touch(this, touches, t.identifier);
  p = [p, this.__zoom.invert(p), t.identifier];
  if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;
  else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;
}

This way, if the first touchstart is filtered, the second will get both touches, whereas if the first touchstart is not filtered, the second will only get one additional touch.

Okay, well, that works so it’ll be in 1.8.3…

Ah! Sorry not to have caught this problem. Thanks for fixing it.


Certificate error

https://bootstrap.philwareham.co.uk/ throws an SSL / TLS error.

Yeah, I’m waiting for the DNS to flip to a new host. It has a stupidly long default TTL so hopefully will work soon. You can access using HTTP protocol for now.


Example doesn't work

I copy and pasted your example, but the tabs don't all appear, only the "First" tab appears bottom and center.

you're right! taking a look at this now

@aksonov looks like the example hasn't had the package.json updated to the latest version. It also seems like there is an issue with not having unique keys, however even when I fix that there is a rendering issue on the tabs. I can dig into this more next time I set aside more time for this project

I think I found the issue here. I'll send a PR

I ve solved issue with keys but now it doesn't select tab with red color
Pavel.

22 дек. 2015 г., в 01:07, Ken Thompson<EMAIL_ADDRESS>написал(а):
I think I found the issue here. I'll send a PR
—
Reply to this email directly or view it on GitHub.

Changing
{!self.props.selected && (self.state.selected == el.props.name) ? React.cloneElement(el, self.state.props) : el}

To
{self.props.selected && (self.state.selected == el.props.name) ? React.cloneElement(el, self.state.props) : el}

Fixed it for me. I'd be lying if I said I fully understood what that !self.props.selected && was for

That was for an issue where the react native tab was overriding the selected prop with its internal state prop

Fixes an issue with the integration with react native flux router but @askonov there might be a better way than how I've done it

How to add Contents into each tab ?

Should be fixed, please check latest version


Add wtt_front & wtt_server to docker-compose file

docker-compose now:

Builds and connects wtt_front, wtt_server, and wtt_db
Creates volumes to mirror changes on local

What this means:

Once all repos are pulled, the entire app can be run in dev mode with just docker-compose up + optional flags (--build -d)
All changes on local will be reflected in Docker containers without needing to rebuild
TODO: The bash scripts should only need to pull relevant repos then run docker-compose up

Works for me.


chore: Move supabase key to the right step in CI

Description
Supabase key was put in the wrong step in guthub acitons, moved it to the right step.

/ok-to-test sa=38aa40b


apex greyed out reflex options... werid bug

The titled is true but towards the end of this post it won't be lol because I encounter a weird bug I think its specific to  having the installed game on a different drive. for example on my setup before I fixed the problem by redoing the steps but having apex on the same drive.
here is how it was structured
drive: a) has apex on my mainos
drive: b) accessing apex in drive a where originally I was using drive:a as my gaming but decided later to use a new os
for my gaming. After finishing the new install and downloading the required packages to get steam to run apex. A biit later, I got everything all setup an running, now I just imported my steam library where in this case would be in drive:a so I choose drive:A/home/kunihiro/.local/share/Steam...  and it found my apex install thats good.
Drive:A ) Main OS/
├─ Apex - installed with MainOs steam install
Drive:B ) Gaming OS/
├─ Steam accessing Apex in Drive:A

at this point I grabbed lutris fixed up everything there along with the env vars for apex to get latencyflex running. I installed everything to the right place but a weird things I had to do was directly set the DXVK_CONFIG_FILE=/fullpathto/dxvk.conf in lutris as directly place the dxvkl.conf in the apex folder will result in a error outputted in the logs using the env var in launch options for apex PROTON_LOG=1 DXVK_NVAPI_LOG_LEVEL=info
so to solve this I had to redo every step slowly and moving my Apex to my GamingOs and setting the dxvk conf env var.
additional information:
My main os has the folder with the appid on the main os so when I start apex it starts the wine prefix in the main os where I had originally installed apex and not the second os.
so my gaming os does not create the folder steamapps/compatdata/**appid** as it is already using the one created on the main os drive:a/home/..../steamapps/compatdata/**appid**
my logs got overwritten as I keep starting Apex... sorry about that

Please find ways to grab a log. Without that there's no practical way to troubleshoot nor provide help.

I have to do that next weekend to reproduce the bug with logging.

got the logs
https://www.klgrth.io/paste/ar2en/raw

I think it probably has something to do with the Steam container runtime not handling cross drive symlinks correctly. Try replacing the symlinks from the installation instructions with a copy.

fixed by 0.1.1


fix issues with adding child to new account

references #178

[t:180] added some more endpoints need working on adding children now having issues with getting child json to bind

[t:60] finished task merging now


feat(new): Azure Data Explorer

Closes #287
Description

If you haven't already, read the full contribution guide. The guide may have changed since the last time you read it, so please double-check.
Enable GitHub Worksflows in your fork to enable auto-generation of assets with our GitHub Action.
To trigger GitHub Actions after auto-generation, add a GitHub PAT as a secret in your forked repository called PAT.
Adding a new module

[x] A proposal has been submitted and approved.
[x] I have included "Closes #{module_proposal_issue_number}" in the PR description.
[x] I have run brm validate locally to verify the module files.
[x] I have run deployment tests locally to ensure the module is deployable.

/azp run

@dciborow I added a comment about the path here https://github.com/Azure/bicep-registry-modules/issues/287#issuecomment-1500777206. What do you think?

Dear @dciborow , Azure Verified Modules (AVM) will become the single Microsoft standard for Bicep modules. Transitioning to AVM, requests for new features or bug fixes will need to be submitted against the appropriate AVM module via AVM Module Issues.
For bugs or new features with existing modules in the /modules directory of this repository, we encourage you to first try the AVM equivalent module if available and if the module is lacking any features, you can file an AVM Module Issue. If the module is not available yet, you can file a new AVM Module Proposal.
See this informational notice for more details on the upcoming changes.
Thank you for your understanding!


Update quickstart docs with API key creation

This issue relates to the PyEnsign issue opened here: https://github.com/rotationalio/pyensign/issues/72.
The quickstart guide in the docs is missing some info about how to actually create a project, topic, and API key. We would like to add a quick step-by-step guide for creating a project, topic, and API key on the quickstart page (the getting_started.md).

Hello, yes I'd like to be assigned to this, thank you

Hi @pdeziel, I can't seem to run hugo serve, I'm getting the following error:
Error: error building site: render: failed to render pages: render of "page" failed: "D:\HacktoberPyensign\ensign\docs\themes\godocs-2\layouts\_default\baseof.html:30
:7": execute of template failed: template: _default/single.html:30:7: executing "_default/single.html" at <partial "essentials/header.html" .>: error calling partial:
 "D:\HacktoberPyensign\ensign\docs\themes\godocs-2\layouts\partials\essentials\header.html:100:4": execute of template failed: template: partials/essentials/header.ht
ml:100:4: executing "partials/essentials/header.html" at <partial "components/search-modal" .>: error calling partial: execute of template failed: html/template:parti
als/components/search-modal.html: ends in a non-text context: {stateJSBqStr delimNone urlPartNone jsCtxRegexp attrNone elementScript <nil>}

ChatGPT is telling me that there's an issue with how some HTML or JavaScript is being generated or processed within the template. I'm not very familiar with JavaScript, but I can see that the id for the HTML in line 54 and 57 is duplicated:

I'm not sure if that's the main reason for the error, let me know if you have a recommendation on how I can fix or work around this. Thank you for your help!

@Mikerniker Hmm I haven't seen that error before. Have you made any changes in your fork yet? Or do you think it's just a hugo issue on your end? You might try updating hugo and see if that fixes it.

Hi @pdeziel, I haven't made changes to my fork yet. I mainly just installed and tried to follow the set up for Hugo (from the ensign and Hugo docs). I did try creating my own Hugo website following the Hugo Quickstart in another/separate directory to see if that would work--> I was able to successfully run a local Hugo development server with hugo server -D with no issues, but can't seem to do the same with the Ensign fork (because of the html/JS error message) I also tried updating Hugo, and I already have the current version v0.119...not sure what else to try...
As an alternative, I can copy the draft of the Ensign quickstart guide I made with markdown into the Ensign fork and submit a PR if you want to check and give feedback for edits (but I can't currently see how it would look when rendered since I can't seem to run it locally due to the error message I get. Let me know if that also works for you.

@Mikerniker That works for me, you can just open a PR with the markdown changes and I'll take a look at it.

Ok, thanks @pdeziel I have sent the PR and will wait for your feedback.


Local attach to process does not open the source in VS

Runs into this problem for a few times, now it seems to be consistently repro on my machine, even after restart VS, I'd hold my machine as it is till you got some chance to do some debugging on it. @MrayerMSFT

Per in person convo, cause for this issue has been identified as a problem with the PowerShell window being debugged. This error appears to also be handled in changes in remote-dbg-tests.


Unable to update settings, with info 'Sync: internet not connected'

Visual Studio Code Version : [ 1.5.2 ]
Code Sync Settings Version : [ 2.2.6 ]
Operating System : [ OSX 10.11.4 ]
I am sure the connection is fine, since I can install another extension.
No error in console, but sync download/update keeps reporting the issue, see the screenshot:

it was working fine in v2.2.5, but failed after upgrading to the latest.

Same issue here.

Yes i tried to solve the issue https://github.com/shanalikhan/code-settings-sync/issues/97
i will test it again and update after completing the auto upload feature

the same issue.

Visual Studio Code Version : [ 1.5.1 ]
Code Sync Settings Version : [ 2.2.6 ]
Operating System : [ win10  1607]

Yes, same issue here. Disabling the connection check can workaround it. Waiting for the fix.

Visual Studio Code Version : 1.5.2
Code Sync Settings Version : 2.2.7
Operating System : Win 7 Pro

Same here.
Visual Studio Code Version: 1.5.3
Code Sync Settings Version: 2.2.7
Operating System: Win 7 Pro
I'm also behind an enterprise proxy. VSC is configured for it tho. Not sure if it matters.

@fasfsfgs extension is not supported for proxy so far, already issue opened at https://github.com/shanalikhan/code-settings-sync/issues/60
I have pushed an update 2.3.0 and let me know if there is any problem :)

@shanalikhan - it works for me now, thanks!


Windows is not supported with EmbeddedDB. plz give solution for it because its not working even after WCS implementation

I'm encountering an error when trying to run Weaviate with the EmbeddedDB option on a Windows system. The error message indicates that Windows is not currently supported for this functionality.
i have created a environment
installed all the requirements
then setup a llama 3 model
after that when i am starting the verba, i am facing the issue of embeddingDB,
INFO: Will watch for changes in these directories: ['D:\projects\Verba Project\Verba']
INFO: Uvicorn running on http://localhost:8000/ (Press CTRL+C to quit)
INFO: Started reloader process [12028] using WatchFiles
lora
barwa
ℹ Setting up client
ℹ Using Weaviate Embedded
Process SpawnProcess-1:
Traceback (most recent call last):
File "C:\Users\User\anaconda3\envs\envmenv\Lib\multiprocessing\process.py", line 314, in _bootstrap
self.run()
File "C:\Users\User\anaconda3\envs\envmenv\Lib\multiprocessing\process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\uvicorn_subprocess.py", line 78, in subprocess_started
target(sockets=sockets)
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\uvicorn\server.py", line 65, in run
return asyncio.run(self.serve(sockets=sockets))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\asyncio\runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\asyncio\base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\uvicorn\server.py", line 69, in serve
await self._serve(sockets)
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\uvicorn\server.py", line 76, in serve
config.load()
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\uvicorn\config.py", line 433, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\uvicorn\importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\importlib_init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "d:\projects\verba project\verba\goldenverba\server\api.py", line 37, in
manager = verba_manager.VerbaManager()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "d:\projects\verba project\verba\goldenverba\verba_manager.py", line 45, in init
self.client = self.setup_client()
^^^^^^^^^^^^^^^^^^^
File "d:\projects\verba project\verba\goldenverba\verba_manager.py", line 209, in setup_client
client = weaviate.Client(
^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\weaviate\client.py", line 147, in init
url, embedded_db = self.__parse_url_and_embedded_db(url, embedded_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\weaviate\client.py", line 287, in __parse_url_and_embedded_db
embedded_db = EmbeddedDB(options=embedded_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\weaviate\embedded.py", line 52, in init
self.check_supported_platform()
File "C:\Users\User\anaconda3\envs\envmenv\Lib\site-packages\weaviate\embedded.py", line 175, in check_supported_platform
raise WeaviateStartUpError(
weaviate.exceptions.WeaviateStartUpError: Windows is not supported with EmbeddedDB. Please upvote the feature request if you want this: https://github.com/weaviate/weaviate-python-client/issues/239

If you created a cluster in Weaviate Cloud, you need to set both WEAVIATE_URL_VERBA and WEAVIATE_API_KEY_VERBA in your .env file. Another Workaround is Docker or WSL

It looks like you're not configuring Verba to find your cloud cluster--do as thomashacker says.
This really should be documented in the main Git page though, tbh. Also odd that the example .env is not in the package and is oddly uncommented by default.


config: limit grammar of the associate issue number

As title.
Because the previously configured regular expression is relatively loose, the PR number in the commit message will be incorrectly matched. When the format checker finds that it is not an issue number, it thinks it violates the matching rule.
Therefore, referring to the previous voting content in TiKV community, we restrict the regular expression of format rule.
Ref Vote: https://github.com/tikv/community/pull/150

cc maintainers: @BusyJay @andylokandy @innerr @yiwu-arbug @hicqu @yiwu-arbug @breeswish @rleungx @nolouch

test on: https://github.com/ti-community-infra/test-dev/pull/473

/merge

It seems Ref #11249. is not recognized.

It seems Ref #11249. is not recognized.

@BusyJay This format is supported. See: https://regex101.com/r/tGGqR7/1

Then there should be something wrong in the checker, see https://github.com/tikv/tikv/pull/11305.

Then there should be something wrong in the checker, see tikv/tikv#11305.

I think this is because ref refers to a PR number.

Oh, smart bot!


WEBAPP-585: Add "appname" to translation function

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword WEBAPP.

Should be merged together with NATIVE-552, right?

@Taggotty as far as I understand, you can merge this separately as this does not change anything before the new malte locales (and the {{appName}} variables) are used. I asked the same thing in https://github.com/Integreat/integreat-react-native-app/pull/288. @maxammann or am I wrong here?

Did you check all relevant keys as mentioned here? Integreat/integreat-react-native-app#288 (comment)
I just noticed that you have pulled from Integreat/integreat-locales#14, right? If so, you have to either wait until that PR is merged or revert pulling the locales from that branch. I'd prefer the latter as waiting for the malte locales can take some time. But before doing anything, best check back with @maxammann

Alright. I will ask @maxammann directly what should be prefered. I am fine with both actually :)

So we got the translated locales this weekend, so I guess we could merge them next week.

In dem task musst du nicht von dem locales repo pullen. Also am besten die commits da wieder rauswerfen
dann ist der PR auch nicht so groß.
ca wie der hier: https://github.com/Integreat/integreat-react-native-app/pull/288


Support IPEX backend

What does this PR do?
This PR is used to support INC IPEX features and add QA example.
examples/neural_compressor/question-answering/run_qa.py

Add an argument --backend in OptimizationArguments to specify which backend would be used.
Change calib_dataloader  from get_train_dataloader() to get_eval_dataloader() when using INC IPEX backend, in order to keep the form of example_inputs identical.

optimum/intel/neural_compressor/optimization.py

Load pytorch_model.bin when using INC IPEX backend.

optimum/intel/neural_compressor/quantization.py

Use torch.jit.load to recover the int8 model quantized by INC IPEX backend, instead of torch.load.

examples/neural_compressor/question-answering/README.md

Add INC IPEX backend example explanation

examples/neural_compressor/test_examples.py

Add a unit test for run_qa.py using INC IPEX backend

Example:
The following example applies INC IPEX backend:
python run_qa.py
--model_name_or_path bert-large-uncased-whole-word-masking-finetuned-squad
--dataset_name squad
--apply_quantization
--quantization_approach static
--do_train
--do_eval
--verify_loading
--output_dir /tmp/squad_output
--backend ipex
Environment for this PR:
Python 3.8.13
transformers 4.24.0
datasets 2.6.1
intel-extension-for-pytorch 1.12.300
torch 1.12.0

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

@echarlaix Hi Ella, please review. Thanks!


thunderbird-bin: 78.13.0 -> 91.0

Motivation for this change

Thunderbird now operates in multi-process (e10s) mode by default.
UI updates.
Many other updates and fixes.

https://www.thunderbird.net/en-US/thunderbird/91.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2021-36/
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[X] Fits CONTRIBUTING.md.


How to upgrade WSO2 API Gateway from 4.2.0 to 4.3.0?

Description
We are using community edition of WSO2 API Manager, Is there any clear document that could help us in upgrading API Manager from 4.2.0 to 4.3.0 ?  Currently , we are Not sure how to proceed further on this upgrade.
Thanks in Advance!!
Affected Component
APIM
Version
4.3.0
Environment Details (with versions)
Linux
Related Issues
No response
Suggested Labels
No response

Dear @damoebius,
Thanks for your response. A fresh installation means users might need to create the clients again through the Developer portal by re-subscribing to the APIs.
May need to find a different solution or buy the WSO2 subscription :)
Thanks,
Narendra


Term request: surveillance process

surveillance process =def Planned process with the objective to produce information about some evaluant with the purpose of, if justified by the information gathered, managing, directing, or protecting
is an OBI:planned process that was originally created for the Vector Surveillance Management Ontology (VSMO) to serve as parent for terms such as pathogen surveillance and vector surveillance
Since VSMO hasn't been actively maintained in some time (not sure if it was officially obsoleted), some of us in the Infectious Disease Ontology team are planning to rebrand the latter two terms as IDO terms.
But since surveillance process didn't seem appropriate for inclusion in IDO, we suggested that it be added to OBI instead. [see the discussion here https://osf.io/az6u5/, specifically the bottom of p. 17]
I am also submitting this term request because Chris Stoeckert informed me that his team needed surveillance process for their ClinEpiDB project (https://clinepidb.org/ce/app/). Chris wants to bring this issue up at tomorrow's OBI call.
Update July 26
The new suggestion is to define "surveillance process" as a child of OBI's investigation
Surveillance process: =def. An investigation in which some entity is monitored, and data concerning that entity collected, interpreted, and disseminated, for the purpose of managing, directing, or protecting that entity, or some other entity.
Notes: I used ‘entity’ because I wanted to keep it general enough to include surveillance of material entities (e.g. people, pathogens) processes (their activities or behaviors), sites (towns, countries), and information content entities (e.g. surveillance of my phone’s data) etc.
-Concerning "protecting that entity, or some other entity" I might be the entity under surveillance in a case where it is intended for my own protection, or I might be under surveillance for the purpose of protecting another person (e.g. someone else that I pose a potential threat to).

Discussed on June 22, 2020 call. Need to expand on definition as it seems truncated.
Also need to consider is this being defined as an assay with evaluants as input and information as ouput.

Although, now that I think of it, the suggested definition may need slight rewording to handle the case where the entity under surveillance is distinct from the entity protected, e.g. when a vector population is under surveillance in order to assist in management of the vector, and thereby protect a human population threatened by the spread of the relevant pathogens.

I thought that was covered with the ‘or’s in “for the purpose of managing, directing, or protecting that entity, or some other entity.”
Chris
From: Shane Babcock<EMAIL_ADDRESS>Reply-To: obi-ontology/obi<EMAIL_ADDRESS>Date: Sunday, July 26, 2020 at 11:54 AM
To: obi-ontology/obi<EMAIL_ADDRESS>Cc: Chris Stoeckert<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: [External] Re: [obi-ontology/obi] Term request: surveillance process (#1181)
Although, now that I think of it, the suggested definition may need slight rewording to handle the case where the entity under surveillance is distinct from the entity protected, e.g. when a vector population is under surveillance in order to assist in management of the vector, and thereby protect a human population threatened by the spread of the relevant pathogens.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/obi-ontology/obi/issues/1181#issuecomment-664005142, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACFXWLORZ4IPNTWLRZ2JOSDR5RGS5ANCNFSM4OD5GPKA.

I guess my worry is that someone could be read this as:
for the purpose of: managing, directing, or protecting that entity OR managing, directing, or protecting some other entity.
where the OR is read exclusively

Hmm. Not sure why I thought it was a problem. The definition looks fine to me in hindsight.

Great. I will bring the July 26 updated definition (Surveillance process: =def. An investigation in which some entity is monitored, and data concerning that entity collected, interpreted, and disseminated, for the purpose of managing, directing, or protecting that entity, or some other entity.) to an upcoming OBI call.

Hi, Damion Dooley brought this discussion to my attention (thanks!). I have been working to try to bring the Health Surveillance Ontology (https://bioportal.bioontology.org/ontologies/HSO) up to OBO standards, hope to join the family soon. I agree in full that OBI represents the best starting point for a surveillance process. in HSO, all concepts are centered around a process called "surveillance activity". I went back and forth a lot about whether to place it as a subclass of OBI's investigation, but ultimately decided not to because I was unsure that we could always fulfill the "study design" component. Some surveillance activities are surveys planned with a specific study design. Some are just a reaction to an outbreak, and although there is a plan specification (making it still a planned process), I wasn't sure about a study design. My ambition was to soon be able to specify better the different types of surveillance activities (or processes) and some of them would be an investigation, but some may not be, I think (but happy to discuss).
I agree that it can only be good to go ahead and add the surveillance process as defined above to OBI, which will help a lot of other domains, as Shane pointed out. The only question I would bring to discussion is whether it should be an investigation, or its own type of planned process. In HSO we modelled "surveillance activity" as a planned process and added surveillance relevant classes under "plan specification", "action specification" and "objective specification".
Wherever the "surveillance process" ends up in OBI, I will make sure to map to it in HSO, and follow the agreements.  If it is placed under investigation, I think I should still be able to map the details of an activity that make some of them be the same as a surveillance process in OBI, and some others potentially not. The goal of an ontology focused specifically in surveillance is exactly to detangle these differences, so I still think it is OK.
Just as a p.s., there is a lot of terminology disagreements about surveillance terms between animal health, human health and food safety people. By now I have learned a lot which terms to avoid, so that we are not stuck in words, and can get through to discussing meaning. "surveillance activity" and "surveillance process" are both "safe terms" in my opinion.

Original intent for the term is aimed at investigations.
Discussed at Sept 28 call.  Moving ahead to add it to OBI.

See https://github.com/obi-ontology/obi/pull/1236


Initial version of new auth service

We need to set up authenticated access to protected datasets at partner sites. dlauth currently has some IRI-specific stuff in it that would have to be pulled out, plus I don't want to try to to teach partners to use it because (a) it has a lot of functionality they're not going to need, and (b) I don't understand it very well myself.
So I reverse-engineered the protocol between ingrid and dlauth, and wrote a minimal reimplementation of that part of dlauth, without all the other stuff (self-service signup, password reset, accepting terms and conditions, permission requests, permission grants, admin console). My plan is to use an off-the-shelf implementation of most of that stuff (e.g. ORY Kratos, Keycloak, or in the simplest case just local PAM), to keep our custom code to a minimum.
This initial version just has a dummy auth implementation (one user with a hard-coded password). The idea is that future implementations will replace the authorize method with something that calls out to an external service.
For now it's using flask sessions, but even session management might eventually be farmed out.

This seems reasonable.  I like the idea of the staff of the partner sites managing Linux users in order to authorize external users.  It's direct and efficient.  They can easily disable someone with minimal work.  Its not clear to me how they are authorized for different datasets through PAM alone though.

I'm not planning on implementing multiple authorization realms, at least at first. People are simply authorized or not authorized to download data.
PAM didn't work out the way I hoped. I had confirmed in a prototype that I could verify my own password via PAM, but later I found out that unprivileged users can only verify their own password that way. If you want to run a service that checks passwords against PAM you have to run it with special priviliges (either as root, or using finer-grained capabilities). I'm not sure I want to risk that, so we're looking into other alternatives.

I have flask code for the FBF Gantt charts for authentication using SQLAlchemy for its database abstraction.  I could probably extract it into its own class if you're interested in doing your own authentication.  It already has some administrative capabilities.


Sending uint64_t size Message

Hi @RobTillaart ,
I want to send the Unique MAC ID (uint64_t) of the ESP32 devices to the Master Controller using your library through RS485. When I try to send data more than 8 digits, it won't reach the receiver. How can I achieve this? Do you have any solution for this?

Thanks for your question.
Not knowing your code, I assume you have to flush the send buffer of the slave before you set the slave to listening mode.

@VigneshVicky97
Have you tried flush?

Thanks for your suggestion. Now I am able to get the full message without any loss. But I have some other doubts on your code. I am using your code for my office project. But I am not sure, I can share that code in this page. Is there any other way, I can solve my doubts without posting online?


Update Aries RFC 0025 to indicate HTTPS is preferred

As per the discussion during the Aries Mobile Summit 2021 it was decided at 1:35:50 in the audio recording that HTTPS would be preferred over HTTP as the transport when mobile clients are involved and HTTP is the base protocol.

Can anyone explain the failed test message - not sure what I need to do to fix it.


Code examples are missing.

Hi!
Examples for this steps are missing:
3) Disable the device using the Set-AzureADDevice cmdlet (disable by using -AccountEnabled option).
4) Wait for the grace period of however many days you choose before deleting the device.
5) Remove the device using the Remove-AzureADDevice cmdlet.
[Enter feedback here]

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

ID: ad8e93b0-2d8b-68c0-62ee-be44831b1557
Version Independent ID: b55939f9-e552-9818-80b7-535601d4bc7b
Content: How to manage stale devices in Azure AD
Content Source: articles/active-directory/devices/manage-stale-devices.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@BoxOfPain Thank you for your feedback . We will review this request and see how best we can have this article improved.

Example in doc shows how to gather data. Linked to command reference material.
Will not publish a example of delete as users will just copy and paste without testing. I don't want to be responsible for customers who accidentally delete production data.

Example in doc shows how to gather data. Linked to command reference material.
Will not publish a example of delete as users will just copy and paste without testing. I don't want to be responsible for customers who accidentally delete production data.

Hi!
I can understand that. Please publish example for  "Disable the device using the Set-AzureADDevice cmdlet (disable by using -AccountEnabled option)". Personally, I can't find any example how to disable device with AccountEnabled option.

@MicrosoftGuyJFlo, Thank you!


PDAL-2.7.2 does not compile with Debian's gdal 3.6.2

It seems that Debian's gdal-3.6.2 is not sufficient to compile PDAL-2.7.2.
When building, a test failes with gdalinfo: not found.
Rerunning the test in the container:
$ podman run --rm -it 713215ee8ab
root@421e727ecf5f:/PDAL# ./build/bin/pdal_filters_shell_test
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ShellFilterTest
[ RUN      ] ShellFilterTest.test_shell_filter
sh: 1: gdalinfo: not found
unknown file: Failure
C++ exception with description "Command 'gdalinfo -json /PDAL/test/data/gdal/int16.tif' failed to execute with output ''" thrown in the test body.
[  FAILED  ] ShellFilterTest.test_shell_filter (42 ms)
[----------] 1 test from ShellFilterTest (42 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (42 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] ShellFilterTest.test_shell_filter

 1 FAILED TEST

Turns out gdalinfo is shipped in another Debian package, gdal-bin.

This test passes when package gdal-bin is installed.


Split up FMA for Red Faction

Closes #3696

Remember to update the example config

Done, thank you.


Netrw vs guioptions-=m

Describe the bug
:Ex toggles on/off/on/off/... menu
To Reproduce
Detailed steps to reproduce the behavior:

Run gvim --clean
set guioptions-=m
so $VIMRUNTIME/plugin/netrwPlugin.vim
:Ex
Menu appears and disappears

Expected behavior
Menu should not be toggled
Screenshots
with clean:

More visible with my regular config:

Environment:

Vim version: 8.2.3397
OS: windows 10
Terminal: GUI

I think this is a duplicate of #8820

I think this is a duplicate of #8820

Oh my issue search is bad :). I did search but overlooked that issue. Thank you!


fix: output container

The output video container is always output.avi when the concatenate sequences into 1 video option is selected.
I changed it so that the selected video container is used instead

Thanks!


Webpack4

Hello @jedwards1211 and @luisherranz . I thought I'd make a pull request now. Have been working on a couple of things for a while and wanted a little feedback. Included:

webpack 4 support
using autoupdate and instructions for production builds
more advanced project exclude
new take on parsing and including of modules to be more compatible with Meteor builds

It's quite meaty...happy to discuss further

@staeke I'm not using this package anymore so better wait for @jedwards1211 answer, but it looks wonderful! 😄

@staeke I'm currently working on something else, and have no time to test for now. Will do when I have time. Thanks.

@eliezedeck k cool

@staeke I see you've made a bunch of commits since opening this PR, is it ready now?
I haven't had much time to devote to this package lately because I haven't been working much on our old project that uses it, but if you still need to do some work on this, ping me when it's ready.

Thanks for getting back @jedwards1211 . Yes, I've tested it now quite thouroughly. But...I haven't tested css packages (like bootstrap). I want to do that before completion.

Hello again @jedwards1211
I've now tested with bootstrap and made a demo application, and updated the README files again. I think this is ready

I have been trying to get this to work in a NativeScript app (through Svelte Native). I keep hitting various parsing or config errors. I wish I could point to a specific error - but I'm not sure if it's something in the package, or if it's my configuration. Here's what I'm getting:

ERROR in ../node_modules/meteor-imports-webpack-plugin/meteor-imports.js 43:104
Module parse failed: Bad character escape sequence (43:104)
You may need an appropriate loader to handle this file type.
| require("C:\Users\Kevin\repos\test-svelte-mobile\web\.meteor\local\build\programs\web.browser\packages\sha.js");
| require("C:\Users\Kevin\repos\test-svelte-mobile\web\.meteor\local\build\programs\web.browser\packages\srp.js");
> require("C:\Users\Kevin\repos\test-svelte-mobile\web\.meteor\local\build\programs\web.browser\packages\underscore.js");
| require("C:\Users\Kevin\repos\test-svelte-mobile\web\.meteor\local\build\programs\web.browser\packages\accounts-password.js");
| require("C:\Users\Kevin\repos\test-svelte-mobile\web\.meteor\local\build\programs\web.browser\packages\audit-argument-checks.js");
 @ ./app.ts 51:0-24

My configuration:
const { join, relative, resolve, sep } = require('path')

const webpack = require('webpack')
const nsWebpack = require('nativescript-dev-webpack')
const nativescriptTarget = require('nativescript-dev-webpack/nativescript-target')
const {
  getNoEmitOnErrorFromTSConfig
} = require('nativescript-dev-webpack/utils/tsconfig-utils')
const CleanWebpackPlugin = require('clean-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin')
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer')
const {
  NativeScriptWorkerPlugin
} = require('nativescript-worker-loader/NativeScriptWorkerPlugin')
const TerserPlugin = require('terser-webpack-plugin')
const hashSalt = Date.now().toString()
const svelteNativePreprocessor = require('svelte-native-preprocessor')
const MeteorImportsPlugin = require('meteor-imports-webpack-plugin')

module.exports = env => {
  // Add your custom Activities, Services and other Android app components here.
  const appComponents = [
    'tns-core-modules/ui/frame',
    'tns-core-modules/ui/frame/activity'
  ]

  const platform = env && ((env.android && 'android') || (env.ios && 'ios'))
  if (!platform) {
    throw new Error('You need to provide a target platform!')
  }

  const platforms = ['ios', 'android']
  const projectRoot = __dirname

  // Default destination inside platforms/<platform>/...
  const dist = resolve(
    projectRoot,
    nsWebpack.getAppPath(platform, projectRoot)
  )

  const {
    // The 'appPath' and 'appResourcesPath' values are fetched from
    // the nsconfig.json configuration file.
    appPath = 'app',
    appResourcesPath = 'app/App_Resources',

    // You can provide the following flags when running 'tns run android|ios'
    snapshot, // --env.snapshot
    production, // --env.production
    uglify, // --env.uglify
    report, // --env.report
    sourceMap, // --env.sourceMap
    hiddenSourceMap, // --env.hiddenSourceMap
    hmr, // --env.hmr,
    unitTesting, // --env.unitTesting,
    verbose, // --env.verbose
    snapshotInDocker, // --env.snapshotInDocker
    skipSnapshotTools, // --env.skipSnapshotTools
    compileSnapshot // --env.compileSnapshot
  } = env

  const useLibs = compileSnapshot
  const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap
  const externals = nsWebpack.getConvertedExternals(env.externals)

  const appFullPath = resolve(projectRoot, appPath)
  const appResourcesFullPath = resolve(projectRoot, appResourcesPath)

  const entryModule = nsWebpack.getEntryModule(appFullPath, platform)
  const entryPath = `.${sep}${entryModule}.ts`
  const entries = { bundle: entryPath }

  const tsConfigPath = resolve(projectRoot, 'tsconfig.tns.json')

  const areCoreModulesExternal =
    Array.isArray(env.externals) &&
    env.externals.some(e => e.indexOf('tns-core-modules') > -1)
  if (platform === 'ios' && !areCoreModulesExternal) {
    entries['tns_modules/tns-core-modules/inspector_modules'] =
      'inspector_modules'
  }

  const sourceMapFilename = nsWebpack.getSourceMapFilename(
    hiddenSourceMap,
    __dirname,
    dist
  )

  const itemsToClean = [`${dist}/**/*`]
  if (platform === 'android') {
    itemsToClean.push(
      `${join(
        projectRoot,
        'platforms',
        'android',
        'app',
        'src',
        'main',
        'assets',
        'snapshots'
      )}`
    )
    itemsToClean.push(
      `${join(
        projectRoot,
        'platforms',
        'android',
        'app',
        'build',
        'configurations',
        'nativescript-android-snapshot'
      )}`
    )
  }

  const noEmitOnErrorFromTSConfig = getNoEmitOnErrorFromTSConfig(tsConfigPath)

  nsWebpack.processAppComponents(appComponents, platform)
  const config = {
    mode: production ? 'production' : 'development',
    context: appFullPath,
    externals,
    watchOptions: {
      ignored: [
        appResourcesFullPath,
        // Don't watch hidden files
        '**/.*'
      ]
    },
    target: nativescriptTarget,
    entry: entries,
    output: {
      pathinfo: false,
      path: dist,
      sourceMapFilename,
      libraryTarget: 'commonjs2',
      filename: '[name].js',
      globalObject: 'global',
      hashSalt
    },
    resolve: {
      extensions: ['.ts', '.mjs', '.js', '.svelte', '.scss', '.css'],
      // Resolve {N} system modules from tns-core-modules
      modules: [
        resolve(__dirname, 'node_modules/tns-core-modules'),
        resolve(__dirname, 'node_modules'),
        'node_modules/tns-core-modules',
        'node_modules'
      ],
      alias: {
        '~': appFullPath
      },
      // resolve symlinks to symlinked modules
      symlinks: true
    },
    resolveLoader: {
      // don't resolve symlinks to symlinked loaders
      symlinks: false
    },
    node: {
      // Disable node shims that conflict with NativeScript
      http: false,
      timers: false,
      setImmediate: false,
      fs: 'empty',
      __dirname: false
    },
    devtool: hiddenSourceMap
      ? 'hidden-source-map'
      : sourceMap
        ? 'inline-source-map'
        : 'none',
    optimization: {
      runtimeChunk: 'single',
      noEmitOnErrors: noEmitOnErrorFromTSConfig,
      splitChunks: {
        cacheGroups: {
          vendor: {
            name: 'vendor',
            chunks: 'all',
            test: (module, chunks) => {
              const moduleName = module.nameForCondition
                ? module.nameForCondition()
                : ''
              return (
                /[\\/]node_modules[\\/]/.test(moduleName) ||
                appComponents.some(comp => comp === moduleName)
              )
            },
            enforce: true
          }
        }
      },
      minimize: !!uglify,
      minimizer: [
        new TerserPlugin({
          parallel: true,
          cache: true,
          sourceMap: isAnySourceMapEnabled,
          terserOptions: {
            output: {
              comments: false,
              semicolons: !isAnySourceMapEnabled
            },
            compress: {
              // The Android SBG has problems parsing the output
              // when these options are enabled
              collapse_vars: platform !== 'android',
              sequences: platform !== 'android'
            }
          }
        })
      ]
    },
    module: {
      rules: [
        {
          include: join(appFullPath, entryPath),
          use: [
            // Require all Android app components
            platform === 'android' && {
              loader: 'nativescript-dev-webpack/android-app-components-loader',
              options: { modules: appComponents }
            },

            {
              loader: 'nativescript-dev-webpack/bundle-config-loader',
              options: {
                loadCss: !snapshot, // load the application css if in debug mode
                unitTesting,
                appFullPath,
                projectRoot,
                ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform)
              }
            }
          ].filter(loader => !!loader)
        },

        {
          test: /\.(ts|css|scss|html|xml)$/,
          use: 'nativescript-dev-webpack/hmr/hot-loader'
        },

        {
          test: /\.(html|xml)$/,
          use: 'nativescript-dev-webpack/xml-namespace-loader'
        },

        {
          test: /\.css$/,
          use: 'nativescript-dev-webpack/css2json-loader'
        },

        {
          test: /\.scss$/,
          use: ['nativescript-dev-webpack/css2json-loader', 'sass-loader']
        },

        {
          test: /\.mjs$/,
          type: 'javascript/auto'
        },
        {
          test: /\.ts$/,
          use: {
            loader: 'ts-loader',
            options: {
              configFile: tsConfigPath,
              // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds
              // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement
              transpileOnly: true,
              allowTsInNodeModules: true,
              compilerOptions: {
                sourceMap: isAnySourceMapEnabled,
                declaration: false
              }
            }
          }
        },
        {
          test: /\.svelte$/,
          exclude: /node_modules/,
          use: [
            {
              loader: 'svelte-loader',
              options: {
                preprocess: svelteNativePreprocessor(),
                hotReload: true,
                hotOptions: {
                  native: true
                }
              }
            }
          ]
        }
      ]
    },
    plugins: [
      // Define useful constants like TNS_WEBPACK
      new webpack.DefinePlugin({
        'global.TNS_WEBPACK': 'true',
        process: 'global.process'
      }),
      // Remove all files from the out dir.
      new CleanWebpackPlugin(itemsToClean, { verbose: !!verbose }),
      // Copy assets to out dir. Add your own globs as needed.
      new CopyWebpackPlugin(
        [
          { from: { glob: 'fonts/**' } },
          { from: { glob: '**/*.jpg' } },
          { from: { glob: '**/*.png' } }
        ],
        { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }
      ),
      new nsWebpack.GenerateNativeScriptEntryPointsPlugin('bundle'),
      // For instructions on how to set up workers with webpack
      // check out https://github.com/nativescript/worker-loader
      new NativeScriptWorkerPlugin(),
      new nsWebpack.PlatformFSPlugin({
        platform,
        platforms
      }),
      // Does IPC communication with the {N} CLI to notify events when running in watch mode.
      new nsWebpack.WatchStateLoggerPlugin(),
      // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds
      // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement
      new ForkTsCheckerWebpackPlugin({
        tsconfig: tsConfigPath,
        async: false,
        useTypescriptIncrementalApi: true,
        checkSyntacticErrors: true,
        memoryLimit: 4096
      }),
      new MeteorImportsPlugin({
        ROOT_URL: 'http://localhost:3000/',
        PUBLIC_SETTINGS: {},
        meteorFolder: 'web',
        meteorProgramsFolder: '../web/.meteor/local/build/programs',
        legacy: true,
        meteorEnv: { NODE_ENV: 'development' },
        exclude: {
          // 'global-imports': true,
          reload: true,
          ecmascript: true,
          'es5-shim': true,
          underscore: true,
          'hwillson:stub-collections': true,
          autoupdate: { mode: 'development' },
          'ecmascript-runtime-client': '{Map,Symbol,Set}'
        },
        excludeGlobals: ['ecmascript-runtime-client', '_']
      })
    ]
  }

  if (report) {
    // Generate report files for bundles content
    config.plugins.push(
      new BundleAnalyzerPlugin({
        analyzerMode: 'static',
        openAnalyzer: false,
        generateStatsFile: true,
        reportFilename: resolve(projectRoot, 'report', 'report.html'),
        statsFilename: resolve(projectRoot, 'report', 'stats.json')
      })
    )
  }

  if (snapshot) {
    config.plugins.push(
      new nsWebpack.NativeScriptSnapshotPlugin({
        chunk: 'vendor',
        requireModules: ['tns-core-modules/bundle-entry-points'],
        projectRoot,
        webpackConfig: config,
        snapshotInDocker,
        skipSnapshotTools,
        useLibs
      })
    )
  }

  if (hmr) {
    config.plugins.push(new webpack.HotModuleReplacementPlugin())
  }

  return config
}

I'll keep playing with it.

I also have questions - why does it pull in a solid bundle, instead of individual packages? Is it because of a lack of a dependency graph? I wonder if we could add something to Meteor to get whatever else we'd need to allow us to import components piecemeal. Meteor has code to output a dep tree to the console using meteor list --tree, maybe that could be added to the program.json file, or a second tree.json file. What do you think?

I wonder if an alternative way to get the dep graph for an individual meteor package would be to set up a Package Proxy shim, and then load the individual module. In the Proxy, we could capture which Package nodes are accessed, and build the graph. I'd need to work up a proof of concept, but it seems at an abstract level that it could work.
The compiled meteor modules all have a list of imports at the top:
var Meteor = Package.meteor.Meteor;
var global = Package.meteor.global;
var meteorEnv = Package.meteor.meteorEnv;
var Tracker = Package.tracker.Tracker;
var Deps = Package.tracker.Deps;
var Random = Package.random.Random;
var Hook = Package['callback-hook'].Hook;
var ReactiveVar = Package['reactive-var'].ReactiveVar;
var DDP = Package['ddp-client'].DDP;
var Mongo = Package.mongo.Mongo;
var meteorInstall = Package.modules.meteorInstall;
var Promise = Package.promise.Promise;

So if we load that module in a sandbox, and shim Package with a proxy, we can get a list of the packages associated with the current imported package. (We can shim Package.modules.meteorInstall with a noop to keep it from leaking.)
// super sloppy, untested psuedo code
function getDeps() {
  const deps = []
  // icky - just set a global Package var - probably there's a better way
  Package = new Proxy({}, {
    get (key) {
      deps.push(key)
      // return a deadend proxy, or something more robust to prevent subnode errors
      return new Proxy({}, {get () {} })
    }
  })
  Package.modules.meteorInstall = () => {}
  // load the module
  return deps
}

@CaptainN mainly because Meteor's old package system relied adding packages as properties to a global Package variable, e.g. import { Meteor } from 'meteor/meteor' gets turned into Package.meteor.Meteor.
I can't tell what loader is being applied to node_modules/meteor-imports-webpack-plugin/meteor-imports.js but I don't see a .js loader in your webpack rules.  I think you'll have to use babel-loader to handle the .js files in this package, surprisingly.  I thought there would be a webpack loader for js that doesn't rely on babel, but the only other one I know of is script-loader and I don't think it converts require statements.

@CaptainN it would be nice to reduce the bundle size, but at the time this plugin was written, Meteor itself would put all old-style Meteor packages together into one big bundle that loaded them all on startup.  Do you know if Meteor has made any improvements to that?

@CaptainN shimming Package with a proxy would be awkward because you would have to actually execute the code to find out what depends on what.  It would be better to parse and analyze the AST to see what properties of Package are being accessed.

It looks like meteor makes a separate file for each package now:

@CaptainN that's always been the case that they're separate files, but AFAIK it always includes script tags for all of them, not just what you need to use on a given page.

Well, it's a bit more complicated with dynamic-imports (I think since Meteor 1.5), though for webpack that's probably not relevant. I think the piece I'm missing is why it's necessary to include everything in a webpack build. I guess if you are using it as an alternative packager for a web project, then it makes sense to include everything. Since I'm looking to use it in more of an alternative - webpack for NativeScript (or for React Native, or Cordova even), I'm more looking to cherry pick packages (hopefully from a git submodule with my full web app, to keep everything in sync).

Actually, I wonder if gating everything behind dynamic-import would still work? Can meteor modules be loaded into a running app built with webpack? Hmm.

Ah, the reason we include stuff in the webpack build is for projects that serve up their own HTML instead of the HTML generated by Meteor.
I do have babel-plugin-meteor-imports which transpiles the import statements but doesn't bundle any meteor code.  Babel does support typescript now, so that's an option for you if you're willing to switch from ts-loader to babel-loader.  Or maybe it would be possible to pass the output of ts-loader through babel-loader?

I tried it both ways - importing the js with ts-laoder using "allowJs", and with a "babel-loader" config I quickly ported from another project. Either way I get this error:

ERROR in ../node_modules/meteor-imports-webpack-plugin/meteor-imports.js
eposle nest-svelte-mobileweb.meteorlocauildprogramsweb.browserpackagesecmascript.js' in 'C:\Users\Kevin\repos\test-svelte-mobile\node_modules\meteor-imports-webpack-plugin'
 @ ../node_modules/meteor-imports-webpack-plugin/meteor-imports.js 7:0-118
 @ ./app.ts

Looking through the code, I think maybe some of that assumes *NIX pathing. I'm going to see if I make a patch for it using require.resolve or something.

Slashes aside, it's weird that repos\test-svelte-mobile somehow got turned into eposle nest-svelte-mobile?

I assumed the output got mangled - it's Windows after all..

This was straight forward. The path was getting output to a javascript string. On Windows, that means the backslashes need to be escaped. I simply replaced that one concatenation line with a JSON.stringify wrapper, and it solved the problem.
    // Require all packages
    for (let pkg of packages) {
      if (pkg.source)
        output += 'Package._define("' + pkg.name + '", ' + pkg.source + ');\n';
      else
        output += 'require(' + JSON.stringify(path.join(meteorBuild, pkg.path)) + ');\n';
    }

Okay cool, I'm confused though, where did you put that code?

I put it in a PR https://github.com/staeke/meteor-imports-webpack-plugin/pull/1

Can we merge this pull request. It seems to be connected with problem from issue #26


⚠ Bofrost.lu has degraded performance

In 0e8ceba, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1395 ms

Resolved: Bofrost.lu performance has improved in 66a8a48.


Hassio died after integration update

Using Tuya Local 2024.2.1 installed on the hassio via HACS.
Several times tried to update version of integration but was faced to system instability (long freezes) and all the time rolled back to old integration version.
After update to 2024.5.2 hassio starting for "a few seconds", opening dashboard with notice that not everything started yet and then connection to the server lost.
This time bug was so serious that I had to install hassio from the fresh system and than making backup restore.  In case I uninstall Tuya Local - everything works nice and quick. If I install it again - no hassio start any more.
Rolled back to backup with 2024.2.1 - everything works fine.
Core
2024.3.3
Supervisor
2024.05.1
Operating System
12.3
User interface
20240307.0

Found solution.
-Uninstall addon.
-Delete all devises from the integration (did not disappear after addon uninstall).
-Install new version of addon
-Paired over all devices......... but now its works


[ADD] resolving package names from Package file

Resolves #70
This PR adds a new feature which resolves the user facing package name from the Package.swift file instead of using the package identity from Package.resolved.
The feature can be activated via a new flag resolves-packages-names (opt-in)
Implementation unfortunately is "dumb" as in it iterates over the in memory package file String line by line and looks for the 'name' key. I don't have an idea right now on how to improve this though.
Declaration
The program was tested solely for our own use cases, which might differ from yours.
Link to provider information
https://github.com/mercedes-benz

Closed in favour of #72


Bug: Fixed term / index comparison on voting

In the logic for when a node receives a vote request, it goes through a set of comparisons to know how to vote. If a candidate matches one of these failure conditions, the node votes "false" on that candidate. If all of the checks pass, the nodes vote "true", placing their vote for the candidate to be a leader. In terms of placing votes, specifically in the first term, if a candidate comes through and says they are term A, index B, the nodes that receive this vote request will only vote no if the term AND the index is greater. This causes data loss issues for when the term is the same but the nodes receiving the candidate request have a newer index.
This PR addresses this issue by setting the term condition to be >=, so the node will reject the candidates vote request if the current node is in the same term and has newer data.

After reviewing the full code, the pull request still appears to be valid and addresses the issue it aims to resolve.
In the given code, the voting logic for the Raft consensus algorithm is implemented within the case 'vote': block. The specific condition that is being changed is within this snippet:
if (raft.log) {
  const { index, term } = await raft.log.getLastInfo();

  if (index > packet.last.index && term >= packet.last.term) {
    raft.emit('vote', packet, false);
    return write(await raft.packet('voted', { granted: false }));
  }
}

The change from term > packet.last.term to term >= packet.last.term in the condition makes sense in the context of the Raft algorithm. The reason being, in Raft, a node should not vote for a candidate if its own log is more up-to-date than the candidate's log. The log is considered more up-to-date if either:

The term of the last log entry is greater.
The terms are the same, but the node has more entries (i.e., a greater index).

By changing the condition to term >= packet.last.term, you ensure that the node will reject a candidate's request if it is in the same term but has a higher index, which is a more accurate representation of having more up-to-date data.
This change is crucial for maintaining the integrity and consistency of the log across the distributed system, as it prevents a node from accepting a candidate that might have outdated information. As always with modifications to consensus algorithms, extensive testing is recommended to ensure that this change behaves as expected under various network conditions and scenarios.

Think we could add a test for this?

Reverting as it breaks the tests


Provide the likely interface name in the installed BSD system during the mfsBSD boot step

when the script has loaded up qemu and outputs this text
ssh -p 1022 mfsbsd@ip-address

it should also indicate the likely name of the resulting network interface in the installed system.
I don't know an easy way to do this, however I found the following
FreeBSD interface naming

The name of a FreeBSD interface starts with the name of its network driver.
It is then followed by a number starting at 0 that increases incrementally by
one for each additional interface sharing that driver.
For example, a common driver used by Intel gigabit network interface cards is igb.
The first such card in a firewall will be igb0, the second is igb1, and so on.
Other common driver names include cxl (Chelsio 10G), em (Also Intel 1G),
ix (Intel 10G), bge (various Broadcom chipsets), amongst numerous others.
If a system mixes an Intel card and a Chelsio card, the interfaces will be igb0
and cxl0 respectively.

source
It's tricky because Xneelo servers show eno0 in rescue system, em0 in mfsBSD, and igb0 when in resulting installed FreeBSD system.
However in some Hetzner server-bidding servers it would be em0 in mfsBSD and installed FreeBSD system.
Detecting the likely result in end system, and informing user, or automatically setting, would be useful.

Driver detection includes a of PCI ids, in case of intel, also some inspection of the mac potentially to decide if it's em or igb. Then there's the question of device ordering. Seems like a lot of work.
Maybe it makes more sense to provide some sort of firstboot rc script that corrects the issue automatically the first time the bare metal server boots?

It affects me for unattended install. I'm passing in an interface name in depenguin_settings.sh that has to be setup.
The value defaults to igb0 here
conf_interface="igb0"

Whatever is passed in gets renamed to untrusted as part of INSTALLERCONFIG
sysrc ifconfig_%%interface%%_name="untrusted"

My issue is some systems show em0 within mfsBSD, and then when booted, the system sees igb0 and has no network. It was the same with bsdinstall or unattended install script.
One server I had to change to em0 and the other back to igb0. So the info is useful at the mfsbsd stage.
What do you suggest on firstboot side?

My issue is some systems show em0 within mfsBSD, and then when booted, the system sees igb0 and has no network. It was the same with bsdinstall or unattended install script.

Yeah, it's em0, because that's what qemu emulates (it's not passing the actual hardware to you).

What do you suggest on firstboot side?

A script that detects the primary interface (either automatically based on a priority list or based on a stored value we passed in when running qemu [e.g., a mac address to find it]). Automatic based on priority should be fine for a start (igb0, em0, bge0...).
Once detected, it will run the proper ifconfig commands to rectify the situation and modify /etc/rc.conf to persist the change (basically removing ifconfig_whatever_name=untrusted and setting ifconfig_detected_name=untrusted).

Alternative dirty hack on install:
sysrc ifconfig_em0_name=untrusted
sysrc ifconfig_igb0_name=untrusted
sysrc ifconfig_bge0_name=untrusted

Which will work, until you encounter a system with multiple network interfaces using different drivers ;)

is ifconfig_DEFAULT always applicable to the plugged in NIC, or a DHCP thing?

is ifconfig_DEFAULT always applicable to the plugged in NIC, or a DHCP thing?

Nope, it's for everything, so not useful for this purpose.

I think the easiest way is to go the firstboot approach, should be fairly easy to accomplish. I can help you with it, just need to find a good place to test this.


Wrong mesh_shape

Trying out the notebook on colab TPUs with both "mesh_shape":"x:4,y:2" and  "mesh_shape":"all:8"  led to the following error:
Traceback (most recent call last):
  File "main.py", line 256, in <module>
    main(args)
  File "main.py", line 230, in main
    estimator.train(input_fn=partial(input_fn, global_step=current_step, eval=False), max_steps=next_checkpoint)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3130, in train
    rendezvous.raise_errors()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/error_handling.py", line 150, in raise_errors
    six.reraise(typ, value, traceback)
  File "/usr/local/lib/python3.6/dist-packages/six.py", line 703, in reraise
    raise value
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3125, in train
    saving_listeners=saving_listeners)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 349, in train
    loss = self._train_model(input_fn, hooks, saving_listeners)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1175, in _train_model
    return self._train_model_default(input_fn, hooks, saving_listeners)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1204, in _train_model_default
    self.config)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 2962, in _call_model_fn
    config)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1163, in _call_model_fn
    model_fn_results = self._model_fn(features=features, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3242, in _model_fn
    input_holders.generate_infeed_enqueue_ops_and_dequeue_fn())
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 1484, in generate_infeed_enqueue_ops_and_dequeue_fn
    self._invoke_input_fn_and_record_structure())
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 1547, in _invoke_input_fn_and_record_structure
    enqueue_ops.append(wrap_fn(device=host_device, op_fn=enqueue_ops_fn))
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3771, in _wrap_computation_in_while_loop
    parallel_iterations=1)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 2774, in while_loop
    return_same_structure)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 2256, in BuildLoop
    pred, body, original_loop_vars, loop_vars, shape_invariants)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 2181, in _BuildLoop
    body_result = body(*packed_vars_for_body)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3760, in computation
    with tf.control_dependencies(op_fn()):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 1217, in enqueue_ops_fn
    placement_function=device_function_impl)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/tpu_feed.py", line 631, in generate_enqueue_ops
    for (shard, index) in zip(sharded_inputs, xrange(self.number_of_shards))
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/tpu_feed.py", line 631, in <listcomp>
    for (shard, index) in zip(sharded_inputs, xrange(self.number_of_shards))
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 1162, in tpu_ordinal_function_impl
    if ctx.device_assignment:
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_context.py", line 420, in device_assignment
    if self._model_parallelism_enabled else None)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_estimator/python/estimator/tpu/tpu_context.py", line 353, in _get_device_assignment
    num_replicas=self.num_replicas)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/device_assignment.py", line 374, in device_assignment
    topology = Topology(serialized=topology)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/topology.py", line 80, in __init__
    self._parse_topology(serialized)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/topology.py", line 111, in _parse_topology
    "entries; got {}".format(self._mesh_shape))
ValueError: `mesh_shape` must be a vector of size 4 with positive entries; got [2 2 2]

ETA: running a sudo apt update && sudo apt -y upgrade solved the problem. But I guess is has something to do with versions of tensorflow and mesh-tensorflow.

Apparently installing tensorflow==<IP_ADDRESS> also solves this, but leads to CrossShardOptimizer problems

Apparently installing tensorflow==<IP_ADDRESS> also solves this, but leads to CrossShardOptimizer problems

Apparently installing tensorflow==<IP_ADDRESS> also solves this, but leads to CrossShardOptimizer problems

To clarify, the original issue appears in TF 2.x?

Apparently installing tensorflow==<IP_ADDRESS> also solves this, but leads to CrossShardOptimizer problems

To clarify, the original issue appears in TF 2.x?

Yes, unless I'm misremembering.

Hi! Thanks for the feedback. We pushed some updates including a totally revamped notebook, give it a try and let me know if you're still getting this error.


Race condition in SerializingTranscoder returns shared object instead of new instance

We've finally hunted down an problem that has been haunting us for years. It turns out that the SerializingTranscoder can return the same instance of an object if two threads fetch the same memcache object at the same time.
I've included a junit test that will can reproduce this problem. All the test does is add a simple object to memcache and then fetch it 10k times with 50 threads. It then fails the test if any of the results are the same instance.  This should fail 100% of the time.
I think the problem is caused by line https://github.com/killme2008/xmemcached/blob/master/src/main/java/net/rubyeye/xmemcached/transcoders/SerializingTranscoder.java#L80 because is reusing the pervious deserialized value.
I've also included a workaround in the testWithFix() method. I found that by synchronizing on the CachedData and setting d.decodedObject = null will for the SerializingTranscoder to generate a new version of the serialized object.
XmemcachedClientTest.java.zip

Xmecmached will merge concurrent get requests if they are trying to retrieve the same key, it's expected.
What's your problem?

I agree minimizing the duplicate remote calls and sharing the raw byte arrays are great features but I'm not sure that returning a single/shared instance is expected. It took us years to track this down because the shared instance only happens under high load.
The reason it was so hard to track down was because we use memcache to cache hibernate objects. This means when a request hits our website we first check if the object is our local cache, then we check memcache and finally fetch it from hibernate.  When the object is loaded from memcache, we re-attache it to the hibernate session. So the problem wasn't showing up with memcache itself but hibernate was throwing an exception saying the object was already attached to another session. It seems like this is a standard solution and I'd expect other people are having similar problems.
We are currently going to deploy the workaround but would prefer to include/contribute it back to the xmemcache. Could we add a flag to SerializingTranscoder to force new instances per request? This way other people could disable it if needed? Another solution would be to remove "final" from the methods so we could extend it with a custom transcoder.

Sorry for that. It look that we missing these optimizations in user guide, i will add some descriptions for them.
But you don't have to modify SerializingTranscoder for this problem, you can disable this optimization by method XmemcachedClient#setOptimizeGet(false), the javadoc as below:
http://fnil.net/docs/xmemcached/net/rubyeye/xmemcached/MemcachedClient.html#setOptimizeGet(boolean)

Hi, I work at the same company as @kaloisi, and was one of the devs who banged their heads against this a year back.  :)
I do consider this a bug and not an optimization.  The reason is that I don't think any developer would have the expectation that if two different Threads in their application asked for the same data from Memcached, they could have a small chance of ending up sharing the same object reference.  There aren't any caches that I know about that operate this way because it opens up the opportunity for really challenging to find side-effects (like we encountered).
I think we only even found this because we have such high volume usage (30+ million uniques a month), but I really doubt we are the only ones to have been bitten by it.
At the very least, I would suggest separating out this particular optimization such that it was disabled by default and a developer would have to understand the implications and opt into it explicitly to have it be enabled.
Thanks for your consideration!

In fact that spymemcache also have this optimzation. And in cache system, we often use cache item just for readonly useage, but you re-attached it to hiberate here. I don't recieve  such issue report before , so  i don't think it is a bug but a trap for some situations.

Interesting to learn.  I suppose one man's trap is another man's bug.  :)


Not compatible with leap.nvim

Neovim version (nvim -v | head -n1)
NVIM v0.9.1
Operating system/version
macOS 13.4
How to reproduce the issue
When I fold something like
opts = {
   aaa = bbb,
}

to
opts = { ...

I can't jump to op using leap.nvim anymore
Expected behavior
The leap.nvim should be able to highlight op on the folding lineopts = { ...
Actual behavior
Nothing can be found on the line

Seems like this is also an issue with stock nvim folds: https://github.com/ggandor/leap.nvim/issues/48


Progress spinner breaks on older browsers

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Progress spinner should work on all possible browsers.
What is the current behavior?
Progress spinner throws exceptions on relatively recent browsers, e.g. Firefox < 55.
This is due to omitting a previously required parameter in the call to insertRule.
What are the steps to reproduce?
Run progress spinner sample on Firefox < 55.
What is the use-case or motivation for changing an existing behavior?
No change in behavior
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Firefox < 55, possibly Chrome < 60

Will be fixed by https://github.com/angular/material2/pull/7810.


unexpected keyword argument 'search_help_text'

Describe the bug
When I try to export from django admin, I get error:
__init__() got an unexpected keyword argument 'search_help_text'
To Reproduce
Steps to reproduce the behavior:

Go to model admin list view
Click on click on export.
Scroll down to select format and select CSV format
Click on Submit and try to generate report.

Versions (please complete the following information):

Django Import Export: 4.0.7
Python : 3.8.10
Django : 3.2.18

Expected behavior
Report should be downloaded
Screenshots

Additional context
Add any other context about the problem here.

Thanks for reporting.  Django 3.2 has passed end of life and is no longer supported.  The next supported version is 4.2.  Can you upgrade and see if you can reproduce the issue?


Misc repo consolidation updates

Thanks, Lucien,
On Tue, Jul 20, 2021 at 5:34 PM Lucien Volmar @.***>
wrote:

Merged #24
https://github.com/aerospike-examples/interactive-notebooks/pull/24
into main.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aerospike-examples/interactive-notebooks/pull/24#event-5047411432,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN2IW4X6NOQNJN2Y4VIRFGTTYYIY3ANCNFSM5AW4SRDA
.


remove some layers in the Dockerfile

I removed some layers to make the resulting image slim.
I also added the default port as EXPOSE so that the port where home-assistant listens on can be detected easily.

The more different layers there are, the higher the chances are that a layer has not changed between builds and thus not have to be downloaded/build again. Makes especially developing Z-Wave on my Mac fast. See also this random article that I googled to back up my argument: http://tuhrig.de/layering-of-docker-images/

Ok for developing more small layers are useful but for use in production I think combining layers is a good idea. But for faster developing I also would not remove the apt cache every time I install something so there is no need to update the cache all the time which speeds up the build process ;-)
Maybe there should be two Dockerfiles.
Nevertheless the EXPOSE is useful.

Removing the cache was done to strike a balance between size vs speed. For leveraging caching of layers, it should probably be helpful to have 1 layer just do apt-get update, the others can just be install. Would increase the size slightly.
The EXPOSE is useful although people should realize that if they do not run Docker with --net=host they are unable to use the nmap device tracker or any discovery method that is based on broadcasts (uPNP, mDNS)

It is trivial to create your own Dockerfile which removes the layers, and @balloob is correct it makes dev easier to keep it the way it is. Nothing stops anyone from having their own docker image of HA on docker hub.


Fix scheduling of autodiscovery checks with custom identifiers (JMX)

What does this PR do?
Addresses two issues noticed related to Autodiscovery processing of new services

Incorporate Entity ID into JMX config to utilize change made in https://github.com/DataDog/datadog-agent/pull/5409 for JMX checks

Fix issue where checks that were unscheduled after a pod restart or change of tags due to tagger delays (due to Kubelet delays) are properly rescheduled

Explanation for the second issue, as I understand it:

In this test scenario, the Datadog agent is run while monitoring a Tomcat pod (deployment). The Tomcat Docker image has a custom AD identifier label. The Tomcat pod is deleted after a few minutes, and it is expected that the Datadog agent monitor the new pod without issue.
In an environment such as GKE with Docker, there can be two listeners: the Docker and Kubelet. Following the restart, the Docker listener reports right away, with the correct information, where as the Kubelet listener initially reports the stale pod ID but eventually is correct
Since the Docker listener reports the service before the service is ready, the new AD service cannot schedule when processNewService is called.
Since the Kubelet listener reports subsequently, this service is what is stored in entityToService.
The Kubelet listener service does not have the AD Identifier required to resolve the config, so it does not schedule whenprocessNewService is called.
(- When the Kubelet + Tagger catches up and finds updated tags for the pod, the service tries to schedule again but fails because checkTagFreshness uses the service persisted in s.entityToService, which is the Kubelet service.)

This fix persists AD identifiers for a service entity so they can be used regardless of which listener service is stored. As far as I can tell, this is the only parameter where it matters which listener is the one persisted in entityToService; the other necessary info appear to be shared.
Motivation
Degradation of behavior
Additional Notes
I suspect this particularly affects JMX checks because of the time it takes to detect the service being ready, but I'm not sure.
Describe your test plan
Run Datadog agent (DEBUG mode recommended) that monitors a Tomcat pod with a custom Docker label AD identifier. Check agent status that the JMX check is running. Restart the Tomcat pod after a few minutes, and ensure that the check is properly scheduled (logs and agent status).

Closing this PR as I didn't realize it is intended to not have two listeners running simultaneously. I will make a separate PR for the JMX Config change.


BWA-HaplotypeCaller Pipeline

I added a new directory called gatk_pipeline. Now, everything starts from align-and-call which downloads shared reference files and then calls the other modules using a static dag. @heuermh  @fnothaft @almussel @jvivian @hannes-ucsc @benedictpaten

Thanks @jpfeil !
@fnothaft, do you want to review this (or have me look at it) before merging?

Setting the needs_work label. Feel free to remove it again if you think I'm in error and this is actually ready to go. I do remember asking @jpfeil to submit a PR with unfinished work just so it gets exposed to the team's collective expertise. Remove the label when you think it should be merged.


Cannot use namespace 'EventEmitter' as a type.

So this is my code and I keep getting the error that EventEmitter cannot be used as a type.
I remove my node modules folder did a clean install. Anyone have a clue why it keeps complaining about that?
import OBSWebSocket from 'obs-websocket-js'
import { OBS_SETTINGS } from '../config.js'

class OBS {
  private socketURL: string
  private socket: OBSWebSocket

  constructor() {
    this.socketURL = OBS_SETTINGS.getSocketURL()
  }

  public async connect() {
    this.socket = new OBSWebSocket()
    return await this.socket.connect(this.socketURL)
  }
}

The Error:
node_modules/obs-websocket-js/dist/base.d.ts:23:56 - error TS2507: Type 'typeof import("D:/Development/silon-server-twitch/node_modules/eventemitter3/index")' is not a constructor function type.

23 export declare abstract class BaseOBSWebSocket extends EventEmitter<MapValueToArgsArray<EventTypes>> {
                                                          ~~~~~~~~~~~~

node_modules/obs-websocket-js/dist/base.d.ts:27:34 - error TS2709: Cannot use namespace 'EventEmitter' as a type.

27     protected internalListeners: EventEmitter<string | symbol, any>;
                                    ~~~~~~~~~~~~

Found 2 errors in the same file, starting at: node_modules/obs-websocket-js/dist/base.d.ts:23

Versions Used:

obs-websocket-js version: 5.0.3
node version: v18.14.1

"skipLibCheck": true,
Just ignore the lib errors forgot about that.

So it actually now fixed.

in node_modules\obs-websocket-js\dist\base.d.ts adjusting
import EventEmitter from 'eventemitter3';
to
import { EventEmitter } from 'eventemitter3';
I saw its exported as default and named. So gave that a try still don't get why it then works.
fixed all the typescript complaining for me. And I have my types back.

in node_modules\obs-websocket-js\dist\base.d.ts adjusting
import EventEmitter from 'eventemitter3';
to
import { EventEmitter } from 'eventemitter3';
I saw its exported as default and named. So gave that a try still don't get why it then works.
fixed all the typescript complaining for me. And I have my types back.

This is already fixed in the repo but has not been published yet.

Ok thank you maybe one day I will see the next release.

@Hoishin is it possible to get this published? it is quite annoying.

@mint-dewit I'm not maintainer of this repo/package

Published 5.0.4 which includes #333


SVG with oveflow not being captured

[x] You are using the latest version
[x] You are testing using the non-minified version of html2canvas and checked any potential issues reported in the console

Bug reports:
Logging this as my original  #1846 got shut and I couldnt see how to reopen as I believe it is still an issue.   SVGs with a style "overflow: visible" doesn't seem to be capturing correctly.
At first the issue was closed as it was said it was due to the size of the target element, however as You can see in this fiddle, it still has issues even though I am capturing a container which is sufficiently large enough, or even if I capture the entire body:
http://jsfiddle.net/0zse2u6j/

did any one have any thoughts on this?


Change location marker and description, get rid of redundant markers as well

@tremblerz conflicts with Overlap.js now. Also you can ditch 'react-native-map-clustering' from package.json.