MQTT / Camera config setting

Hi,
How I'm gonna get the same behaviour as in the previous version?
I do have 3 YI hacked cameras and in the previous 2.2.0 version, I've received by an motion information on the iphone (statusdisplay) with the screenshot of the cam pic. I'm running mosquitto locally and each YI camera has got his MQTT settings for motion mqtt information. Based on that a video is going to be created under the old situation with the v 2.2.0. What is the correct way to configure that? See below my adjusted configuration for the new version 3.0.2 copied from the revious version for each camera the necessary mqtt section:
Please not I'm just running one YI cam for testing purposes:
  {
        "platform": "CameraUI",
        "name": "CameraUI",
        "port": 3333,
        "auth": "form",
        "language": "EN",
        "debug": true,
        "reset": false,
        "mqtt": {
            "active": true,
            "host": "localhost",
            "port": 1883,
            "topic": "homebridge/motion",
            "on_message": "ON"
        },
        "options": {
            "videoProcessor": "ffmpeg",
            "interfaceName": "en1",
            "ffmpegExecPath": "/usr/local/bin/ffmpeg"
        },
        "cameras": [
            {
                "name": "Garden",
                "motion": true,
                "videoConfig": {
                    "source": "-rtsp_transport tcp -err_detect ignore_err -re -i<EMAIL_ADDRESS>                    "stillImageSource": "-i http://x:x@<IP_ADDRESS>:8080/cgi-bin/snapshot.sh?res=low&base64=no",
                    "maxStreams": 5,
                    "maxWidth": 1920,
                    "maxHeight": 1080,
                    "maxFPS": 30,
                    "maxBitrate": 1024,
                    "vcodec": "copy",
                    "packetSize": 1316,
                    "audio": false,
                    "debug": true
                },
                "mqtt": {
                    "active": true,
                    "host": "localhost",
                    "port": 1883,
                    "username": "",
                    "password": "",
                    "topicPrefix": "yicam2",
                    "topicSuffix": "motion",
                    "startMessage": "motion_start",
                    "stopMessage": "motion_stop",
                    "recordOnMovement": true,
                    "recordVideoSize": 60,
                    "interval": 0
                }
            }
        ]

Many thanks,
efkayx

Hey @efkayx
The previous version was build for yi hacked cameras, so it was possible to config individual mqtt‘s for each cam
V3 is build for all rtsp cameras with ONE mqtt config
You need to config your yi hacked camera, below my config

Topic prefix must be homebridge
Topic suffix must be motion
Motion start message uses following prefix
@
Camera name must be the same as defined in your config and message the same as defined also in your config under
on_message
Note
You can use different prefix/suffix/message, just adjust in your config, see Example

Hi @SeydX ,
thank so much. This was the trick. BTW fantastic work here after the last release. Really kudos to you.
A couple of experience so far, but I have some feeling the MQTT feature (MOTION ON) is not inlign with the information and actually recording the videos. I do see a lot notifications and not recording. Do you have some ideas in regards of acting in-sync. Before with the 2 version it was fully working and the rtsp streams could be recorded and stored.
Nothing has changed from my side and using the 3 YI cam, which sometimes one of the yi cam are triggering something and the other one in the same place not. So I put both cams each other to see the MQTT behaviour.
I'm running MACOS 10.16, static linked ffmpeg (latest version) and nodejs 14.14.0.
Also what I've noticed by the restart of homebridge and the plugin himself. Maybe it is coming due to the fact I've enabled debug and do see more.
2020-10-18T08:43:46.154Z CameraUIMqtt Received a new MQTT message online (homebridge/status)
2020-10-18T08:43:46.155Z CameraUIMqtt Received a new MQTT message Garden@OFF (homebridge/motion)
2020-10-18T08:43:46.155Z CameraUIHandler Motion event triggered.
2020-10-18T08:43:46.155Z CameraUIHandler Switch motion detect off. Garden
2020-10-18T08:43:46.156Z CameraUIMqtt Received a new MQTT message {
"start":"2020-10-18T10:38:00+0200",
"end":"2020-10-18T10:39:01+0200",
"files":[ ]
}
(homebridge/files)
(node:35405) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'db' of undefined
at Object.handleMotion (/usr/local/lib/node_modules/homebridge-camera-ui/app/lib/handler.js:78:29)
at Handler.motionHandler (/usr/local/lib/node_modules/homebridge-camera-ui/src/helper/handler.js:91:15)
at Handler.automationHandler (/usr/local/lib/node_modules/homebridge-camera-ui/src/helper/handler.js:56:23)
at MqttClient. (/usr/local/lib/node_modules/homebridge-camera-ui/src/helper/mqtt.js:35:17)
at MqttClient.emit (events.js:315:20)
at MqttClient._handlePublish (/usr/local/lib/node_modules/homebridge-camera-ui/node_modules/mqtt/lib/client.js:1271:12)
at MqttClient._handlePacket (/usr/local/lib/node_modules/homebridge-camera-ui/node_modules/mqtt/lib/client.js:410:12)
at work (/usr/local/lib/node_modules/homebridge-camera-ui/node_modules/mqtt/lib/client.js:321:12)
at processTicksAndRejections (internal/process/task_queues.js:75:11)
(Use node --trace-warnings ... to show where the warning was created)
(node:35405) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:35405) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
2020-10-18T08:43:46.174Z CameraUIInterface Configuring handler
2020-10-18T08:43:46.174Z CameraUIInterface Configuring webhook
Apart from this information everything is working fine but the information gave you on top.
So far this is phenomenal with the new 3 release and again thanks very much for this hard work.
Cheers,
EfkayX

Hey,
to record the stream (snapshot/recording) you need to login in the user interface and go to settings.
You can adjust almost everything there.
To activate recording, just go to settings > recordings and switch activate to on, u can also adjust the type of recording (snapshot/recording) and much more. Give it a try.
Note: to handle incoming notifications, you need to switch off 'At Home' (ui > settings > general), otherwise the ui will not handle incoming notifications because someone already at home and there is no need for recording something etc.
The issue u have is because the plugin received a mqtt notification BEFORE it has finished initialising database etc.
Will fix this :)

@efkayx
Fix for the issue (incoming mqtt/http message before ui finished initialisation) will come with next version!

@efkayx
v3.0.7 is online and should fix the issue

@SeydX this is awesome. Thanks very much. I will test it tonight and will give you feedback.
Another thing what I've noticed is to adjust the config per webcam:
                "name": "Garden",
                "manufacturer": "Yi",
                "model": "Yi Home 1080p",
                "serialNumber": "9FUSY21J0M5L26190916",
                "firmwareRevision": "<IP_ADDRESS>C_201910080934",
                "motion": true,
                "yihack": true,
                "videoConfig": {
                    "source": "-rtsp_transport tcp -err_detect ignore_err -i<EMAIL_ADDRESS>                    "stillImageSource": "-i http://x:x@<IP_ADDRESS>:8080/cgi-bin/snapshot.sh?res=low&base64=no",
                    "maxStreams": 2,
                    "maxWidth": 640,
                    "maxHeight": 480,
                    "maxFPS": 30,
                    "maxBitrate": 200,
                    "vcodec": "copy",
                    "encoderOptions": "-copytb 0",
                    "packetSize": 188,
                    "audio": false,
                    "debug": true,
                    "socketPort": 8200

I'm using right now 640x480 and the events and the stored mp4 are now more inline. Sometimes I'm getting data not found to click on the MP4 and it seems there are a lot of ffmpeg process in stuck. Once I'm killing them it triggers the notification event in the UI but no MP4 data is available. So i think it also has to do something with the wifi speed connections at some how and why the ffmpeg process hangs is for me unclear at the moment. Will investigat further but reducing the maxHeight and maxWidth was already a huge benefit

You see based on this hanging ffmpeg process, I killed it in the task process (MACOS) and then it creates the event which was several hours ago and of course now MP4 file
Will investigate further.
Thanks,
EfkayX

Hey @efkayx
v3.0.8 is online and should fix the issue with hanging ffmpeg process. Could you try it pls?

Hi @SeydX,
yes it is installed and also plugged in several YI cams (5 in total) right now to see how the performance lookslike and as well the behaviour of the hanging ffmpeg proccesses. From now on it looks great and I do not see any ffmpeg processes hanging anymore. Will continue to monitor further :-) Great work and thanks very much.
Cheers,
efkayX

Check also ur CPU usage with so much cams, decoding streams for the web is a bit heave on eg Raspberry with more than 3 cams

@efkayx No worries. I'm running a dedicated MacMini 2018 server with 16GB Ram and plugged in with a 1Gbit Ethernet cable.
So the hardware isn't the bottleneck of the server where homebridge is running :-)

Ohh very nice 😃

@SeydX still running a lot of ffmpeg's stock in the process watcher:

after killing the ffmpeg process manually and this populates the case what I mentioned on top.

no preview and no mp4 files. So it was better for a certain time but then humbling up again as shown in the screenshot on top
Cheers,
efkayX

Hm thats weird, a debug from the ffmpeg command would be nice, but i need to implement it first

@efkayx
Does this occurs only with recording a video? Or also on recording a snapshot and does it ALWAYS happen?? Or sometimes?

@SeydX
I'm just using the settings always record (by movement( a video and the record length is one minute.
I also recognized sometimes there is now preview in the notifications page for one individual notification items and sometimes there is a preview and if you click on you realize there is no mp4 available.
Switching back to the server and found 3 ffmpeg processes hanging. Once I'm killing them the web.ui informs me with a sounds an notification is happened, which was already several hours ago and then of course no valid mp4 file is available.
I let run the server almost 24hrs and during this time it happens roundabout 20 ffmpeg processes hanging. It is not frequent and I also try to get a better understanding based on what this is gonna happen and why it is happen. I would say 90% wise it works great so far and having already in the notification list and 600 recordings/events in the last 24hrs and the system performs great even though in the debug log level it will take some time to build up the webpage with the >600 entries at the moment.
I will monitor this further to get a bit of a pattern out of it and let see maybe I can find something.
identified two process hanging:

View in the web.ui. Below preview and two of them are missing as these are the process as seen in the task manager

Killing the ffmpeg process:
log file in homebridge:
2020-10-20T16:06:38.881Z CameraUIInterface Garden: Snapshot stored to<EMAIL_ADDRESS>2020-10-20T16:06:38.881Z CameraUIInterface CameraUI - Garden: Video requested: 640 x 480
2020-10-20T16:06:38.886Z CameraUIInterface Garden: Video command: ffmpeg -rtsp_transport tcp -err_detect ignore_err -nostdin -y -i<EMAIL_ADDRESS>-t 60 -strict experimental -threads 0 -c:v copy -s 640x480 -movflags +faststart -crf 23 /Users/x/.homebridge/recordings/Garden-2f8ba1ae64-1603209420_1_m.mp4
2020-10-20T16:06:41.585Z CameraUIInterface Garden: Snapshot stored to<EMAIL_ADDRESS>2020-10-20T16:06:41.585Z CameraUIInterface CameraUI - Garden: Video requested: 640 x 480
2020-10-20T16:06:41.588Z CameraUIInterface Garden: Video command: ffmpeg -rtsp_transport tcp -err_detect ignore_err -nostdin -y -i<EMAIL_ADDRESS>-t 60 -strict experimental -threads 0 -c:v copy -s 640x480 -movflags +faststart -crf 23 /Users/x/.homebridge/recordings/Garden-f8d60ef745-1603209989_1_m.mp4
Web.ui:

I think the ffmpeg process hangs and can not callback
I have a telegram group with other user testing the plugin. I would debug the process with you.
Können auch uns auf Deutsch unterhalten da :)
Falls du Lust hast können wir uns da gerne weiter unterhalten, so könne ich dir auch einzelne Dateien zum ersetzen schicken und wir könnten es schneller debuggen
https://t.me/joinchat/AAAAAFMcxceAf7yrSivmvg

Hey @efkayx
v3.1.0 is online. Could u try it pls

I am closing this issue and create a new one to inform the user about this problem (maybe it only occures only on mac)


Use shortlinks in hot_sister and throughout the sidebar

To conserve characters, we should not use full links, https://www.reddit.com/r/ImagesOfBrazil/comments/4yrstd/chupa_reddit_vamos_rbrasil_coloquem_isso_na_front/
Instead, we should redd.it/4yrstd or /4yrstd.
Subreddit, user, wiki links also need to be shorted.

/user/ to /u/. Mentions to u/user
/r/place to r/place
/wiki/ to /w/

hot_sister is done. 7adcbd3e16b3237363dad1da930f2f2e29d48f85

parent sidebar is updated, push is pending #41 to minimize overwriting child sidebars more than necessary.


Error on Macos with the --redir option

With the --redir option it crashes instantly

https://stackoverflow.com/questions/55043135/qemu-system-arm-redir-invalid-option

Hi, I fixed --redir in #36 however I think your issue is more related to the fact you don't have e2fsck available. You must install e2tools and make sure e2* commands are available form the CLI

Hello @SakiiR
I hope you are doing well!
Just for update, is this issue still ongoing or you found a solution?
Regards


Identity Override Stays After Identity is Deleted

How are you running Flagsmith

[ ] Self Hosted with Docker
[ ] Self Hosted with Kubernetes
[X] SaaS at flagsmith.com
[ ] Some other way (add details in description below)

Describe the bug
When an identity has an identity override when the identity is deleted, the override remains and cannot be deleted because it fails to find the associated identity.
Steps To Reproduce

Create a new identity
Create a identity override for a feature
Delete the identity
See the identity override still exists in the UI

Expected behavior
If the identity is deleted the overrides for it should also be deleted.
Screenshots

I think this may be a duplicate of https://github.com/Flagsmith/flagsmith/issues/3611

This has been fixed in a recent release.


progress bar not shrinking

missing loading-state class means the progress bar doesnt collapse
pull request here #8

Toby, sorry for the previous version.
I have merged your pull request, thanks.

No problem. I didn't update the dist directory (I assumed you had a travis
build server or something), so this needs doing otherwise people wont see
the change
On Mon, Jul 6, 2015 at 4:05 PM, Konstantin Danovsky <
<EMAIL_ADDRESS>wrote:

Toby, sorry for the previous version.
I have merged your pull request, thanks.
—
Reply to this email directly or view it on GitHub
https://github.com/akveo/angular-progress-button-styles/issues/9#issuecomment-118884019
.

Thanks again, too much work today


sfdx force:cmdt:record:insert does not insert records for custom metadata that isn't maintained in the project's repository

Summary
sfdx force:cmdt:record:insert has two bugs:
1 - scans the project looking for a directory path that doesn't exist force-app/main/default instead of looking for the path declared in the sfdx-project.json
in the image below you can see my attempt while using this command to insert custom metadata records

and this is the path configured in the sfdx-project.json which contains the right path to locate the metadata definition

2 - this custom metadata called VARS__ENV__mdt (namespace VARS) was installed by this unlocked package "https://github.com/callawaycloud/Salesforce-Environment-Vars" . This means I'm not tracking its fields in my repository, and because of that I can't use this command unless I retrieve this custom metadata fields and store in my project's repository. And in my opinion, this does not make sense in this case because this custom metadata is maintained in another repo.
Steps To Reproduce:
1 - install any unlocked package that contains a custom metadata that you want to create records for using sfdx force:cmdt:record:insert
2 - try to add records to this custom metadata using sfdx force:cmdt:record:insert --filepath <YOUR_CSV_PATH> --typename <CUSTOM_METADATA_API_NAME>
3.1 - 1st bug: verify that sfdx throws an error because it tried to look for your custom metadata fields in this path force-app/main/default/objects/<CUSTOM_METADATA_API_NAME>/fields which might not be the path you configured in the sfdx-project.json
3.2 - 2nd bug: verify that sfdx did not create records for you custom metadata because it could not locate the fields folder from force-app/main/default/objects/<CUSTOM_METADATA_API_NAME>/fields. This command should try to look for the fields querying the schema of that particular custom metadata from the sandbox.
Workaround:
add to .forceignore and .gitignore the path where you intend to extract your custom metadata fields. This step is a must to avoid tracking and deploying changes to this custom metadata.
extract the custom metadata fields and save on the default path configured in sfdx-project.json running
sfdx force:source:retrieve -m "CustomObject:<CUSTOM_METADATA_API_NAME>"
finally insert records for your custom metadata
obs: because of the 1st bug, it is mandatory to set the optional flag called "--inputdir"
sfdx force:cmdt:record:insert --filepath <PATH_TO_CSV> --typename <CUSTOM_METADATA_API_NAME> --inputdir <CUSTOM_METADATA_PATH>
Expected result
sfdx force:cmdt:record:insert should be able to create custom metadata records for custom metadata that are not maintained on the project's repository
Actual result
sfdx force:cmdt:record:insert can't insert records for custom metadata that aren't maintained in the project's repository
System Information

background: we've kinda inherited these commands from the team that built them.  I've used them just enough to test with.
bug 1: both --inputdir and --outputdir default to looking in force-app/main/default/*.  I agree that using the default pkgDir would have been smarter than hardcoding it.
Is there something that doesn't work correctly when you use those flags?
I think you'd also have the option to retrieve just the metadata of your choice and then point the inputdir to that without impacting your project (especially with the new --retrievetargetdir  that's about to land in source:retrieve https://github.com/salesforcecli/plugin-source/pull/624

Could you reopen this. I will take a look at it later 👍

I'm going to start my analysis tomorrow 🤙


brand: presentation theme: black background for source code is a problem

Please look at this slide. While black background looks cool on the electronic displays (computers, TVs), and at the large conference screens in the dark environment, it will not work with typical equipment found at the meetup sites – projectors and white screens: they can't project black on the white screen, and switching off the lights and closing the curtains is not always possible (and also typically lead to tired gophers to snore).
I propose to add another template with the light background.
/cc @spf13

Contrast inversion should be a capital sin wherever it cannot be user-switched to something else. There are people out there that cannot read it, not because they consider it ugly, but because their eyes just cannot handle it. I mean physically, it has nothing to do with any emotions and/or personal preferences.
It's like using the color schema of a color blind test.

Poke @spf13 (who has other issues about brand assigned to him, but not this one). This issue just prevented me from using suggested presentation theme for a talk about Go 2 drafts on a local meetup.


Large Scenes

Thank you for your work! I wanted to ask if you had recommended settings for large scenes or scenes that are non-object centric. Is there a combination of UBP/clustering or specific hyperparameters that you would recommend for datasets that cover large areas?

I would suggest to turn off UBP for scenes with less dense coverage of different areas in the input images. For clustering, we found MLP version usually works best, but classic clustering can provide more robustness if needed, at the cost of losing some useful information from the scene too. So I would start with MLP and no UBP and then adjust based on the results.

Thanks, I'll start with the settings you recommended!

我建议为输入图像中不同区域覆盖密度较低的场景关闭 UBP。对于聚类，我们发现 MLP 版本通常效果最好，但如果需要，经典聚类可以提供更多的健壮性，但代价是也会丢失场景中的一些有用信息。因此，我会从 MLP 开始，不使用 UBP，然后根据结果进行调整。

Hello! What should I do if I don't have enough memory for a large scene when using the MLP version, but I can use the AGG version. The following error message is reported:
[Parser] 872 images, taken by 1 cameras.
Scene scale: 2.162506700636682
Model initialized. Number of GS: 593453
/root/miniconda3/envs/gsplat/lib/python3.12/site-packages/torchmetrics/functional/image/lpips.py:325: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
self.load_state_dict(torch.load(model_path, map_location="cpu"), strict=False)
0%|                                                                                | 0/30000 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/usr/local/SpotLessSplats/examples/spotless_trainer.py", line 1308, in
main(cfg)
File "/usr/local/SpotLessSplats/examples/spotless_trainer.py", line 1298, in main
runner.train()
File "/usr/local/SpotLessSplats/examples/spotless_trainer.py", line 633, in train
sf = torch.cat([sf, pos_enc], dim=0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 12.97 GiB. GPU 0 has a total capacity of 23.55 GiB of which 9.41 GiB is free. Including non-PyTorch memory, this process has 14.13 GiB memory in use. Of the allocated memory 13.59 GiB is allocated by PyTorch, and 68.00 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

How many images does your scene include and what is your GPU memory size? Usually this code works fine with around 150-200 images of resolution <512. The main memory bottleneck is the semantic feature loading into the GPU memory. Make sure you are only loading training image features to save on the memory. If you still have memory issues, another solution can be projecting the semantic features to a lower dimensional space using PCA. Currently the features have a dimension of 1280, but they can be projected onto their first 500 components or so and still work reasonably well.

您的场景包含多少张图像，您的 GPU 内存大小是多少？通常，此代码在 40GB 计算机上处理大约 150-200 张分辨率为 <512 的图像。主要的内存瓶颈是加载到 GPU 内存中的语义特征。确保您只加载训练图像特征以节省内存。如果你仍然有内存问题，另一种解决方案可能是使用 PCA 将语义特征投影到低维空间。目前，这些特征的维度为 1280，但它们可以投影到前 500 个左右的组件上，并且仍然运行良好。

感谢您的回复！问题已经得到解决

How many images does your scene include and what is your GPU memory size? Usually this code works fine with around 150-200 images of resolution <512 on a 40GB machine. The main memory bottleneck is the semantic feature loading into the GPU memory. Make sure you are only loading training image features to save on the memory. If you still have memory issues, another solution can be projecting the semantic features to a lower dimensional space using PCA. Currently the features have a dimension of 1280, but they can be projected onto their first 500 components or so and still work reasonably well.

Thanks for your reply! The problem has been resolved

@NIZAHO Hi~ Can I ask you how to run through your own data set. I set the format of images/clutter000.jpg and sparse. Then run python spotless_trainer.py --data_dir [data directory] --data_factor 8 --result_dir [result directory] --loss_type robust --semantics --no-cluster --train_keyword "clutter" ,still many different errors. Could you please help me sort out the data processing flow?

@NIZAHO Hi~ Can I ask you how to run through your own data set. I set the format of images/clutter000.jpg and sparse. Then run python spotless_trainer.py --data_dir [data directory] --data_factor 8 --result_dir [result directory] --loss_type robust --semantics --no-cluster --train_keyword "clutter" ,still many different errors. Could you please help me sort out the data processing flow?

Sure. but this project is no longer maintained by me, so I can only tell it from memory. I remember that if you want to run your own dataset, you have to set the correct prefix according to the train_keyword and test_keyword, and then use sd_feature_extraction.ipynb to extract the feature map. Based on that, you can organize the file in the right way to train.

@NIZAHO Hi~ Can I ask you how to run through your own data set. I set the format of images/clutter000.jpg and sparse. Then run python spotless_trainer.py --data_dir [data directory] --data_factor 8 --result_dir [result directory] --loss_type robust --semantics --no-cluster --train_keyword "clutter" ,still many different errors. Could you please help me sort out the data processing flow?

Sure. but this project is no longer maintained by me, so I can only tell it from memory. I remember that if you want to run your own dataset, you have to set the correct prefix according to the train_keyword and test_keyword, and then use sd_feature_extraction.ipynb to extract the feature map. Based on that, you can organize the file in the right way to train.

Thank you for your reply！


Support for React-intl

Hello
My React component use Reac-intl to handle i18n.
For example I have in my component render function :

      <FormattedMessage
               id="header.wishlist"
               description='Header - Wishlist menu item'
               defaultMessage="Wishlist"/>

For the FormattedMessage to work, I need a <IntlProvider>  to exist in the component ancestry.
If not, I got the following error :
Uncaught Invariant Violation: [React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry.
How can we solve this use case ?

One option I've used in similar situations (unit testing components that are normally dependent on context), is to proxy those components through your own file, and serve up a non-context-dependent version, or one with a unit-level context, for certain situations (in your case, when running through RSG)
Example:
// react-intl-proxy.jsx, you would require this instead of the regular `react-intl`
var React = require('react');
var ReactIntl = require('react-intl');

if (__NOCONTEXT__) { // this global variable is set using webpack's `DefinePlugin`
    var ShimmedIntl = Object.assign({}, ReactIntl);

    // Simple mock for FormattedMessage to avoid parsing i18n stuff that depends on context
    ShimmedIntl.FormattedMessage = React.createClass({
        render() { return {this.props.defaultMessage}; }
    });

    module.exports = ShimmedIntl;
} else {
    module.exports = ReactIntl;
}

module.exports = components;

Hopefully this makes sense.

@lauterry Any luck getting this to work?

Hi @bendman
I haven't got time to try your proposition yet.
It is in my todolist :)

@bendman
I've implemented your solution,
It works well.
Thanks

An alternative to this approach (which does not require modification of the original source files and avoids the __NOCONTEXT__ variable) is to embed the proxy within your webpack configuration for react-styleguide-generator.alt:
...
webpackConfig: {
    resolve: {
        modulesDirectories: ['node_modules', 'scripts'],
        alias: {
            'react-intl': 'styleguide/react-intl-proxy'
        },
        extensions: ['', '.js', '.jsx', '.json']
    },
...

I use this with the shim described above within the file scripts/styleguide/react-intl-proxy.jsx:
const React = require('react')
const ReactIntl = require('react-intl')

const ShimmedIntl = Object.assign({}, ReactIntl)

ShimmedIntl.FormattedMessage = React.createClass({
  render() {
    return (
        {this.props.defaultMessage}
    )
  }
})

module.exports = ShimmedIntl


Add lexer for fish

(Original issue 943 created by sferik on 2014-01-07T04:19:40.003980+00:00)
I’d like this library—and therefore GitHub, which uses Pygments for syntax highlighting—to support fish shell syntax.
Here are a couple links that may be helpful to the implementor:

Fish Documentation
Fish Source Code

At least one other person has expressed an interested enhancement.
Thank you for this awesome library! It is a treasure.

(Original issue 943 last updated on 2015-10-17T02:57:19.718593+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by sdaitzman on 2014-09-23T01:33:35.214458+00:00)
I would love to see this happen :D
If no one else does it I might just have to do it myself :P

(Original comment by tshatch on 2015-10-17T02:57:19.731971+00:00)
This was taken care of in pull request #422


"malloc" didn't trigger mmap/sbrk hook

Hi,
I am assuming tcmalloc gets virtual memory from kernel through either mmap or sbrk/brk system calls, like glibc malloc does.
I tried to add a memory service which can allocate virtual address like mmap. I think the hook interface can be a good starting point.
The first thing I tried is the malloc_hook example.
It works fine I and all the mmap calls are redirected to the mmap replacement.
Then I wrote this skeleton code, Seems like both sbrk and mmap are reinterpreted but the malloc didn't call either of them..
#include <gperftools/malloc_hook.h>

#include <unistd.h>
#include <sys/mman.h>
#include <iostream>
#include <cstring>
#include <cstdlib>

namespace{

// action whenver a region is mapped, can be passed MAP_FAILED
void myMmapHook(const void* result,
                                    const void* start,
                                    size_t size,
                                    int protection,
                                    int flags,
                                    int fd,
                                    off_t offset){

  std::cout<<"[mmap]: after mmap hook is called" <<std::endl;
}

// this will be called each time a sbrk is called
void mySbrkHook(const void* result, ptrdiff_t increment){
  std::cout << "[sbrk] hook called at" << result << " with inc " << increment << std::endl;
}

void run_test(){
  MallocHook::AddSbrkHook(&mySbrkHook);
  MallocHook::AddMmapHook(&myMmapHook);

  // This will trigger the sbrk hook
  void * new_ptr = (char*) sbrk(30);

  // This will trigger the mmap hook
  void *tmp = mmap(NULL, 1, PROT_READ | PROT_WRITE,
           MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);

  // the actual malloc cannot trigger anything..
  const size_t region_size = sizeof(1<<27); // 128M
  char *ptr = reinterpret_cast<char*>(::malloc(region_size));
  memset(ptr,0, region_size );

  free(ptr);
}

compile
$g++ -g -o minimal_hook minimal_hook.cc -ltcmalloc_minimal

The output is
$./minimal_hook
[sbrk] hook called at0x196c000 with inc 30
[mmap]: after mmap hook is called

ldd output
s$ldd minimal_hook
        linux-vdso.so.1 =>  (0x00007ffff03d2000)
        libtcmalloc_minimal.so.4 => /usr/lib/libtcmalloc_minimal.so.4 (0x00007f179374d000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f17933cb000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1793001000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1792de4000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1792adb000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f17928c5000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f179399a000)

Is the desired behavior of tcmalloc? Are there any specific steps I should follow to let the malloc trigger my hooks?
Thanks!

sorry, my mistake, after tracing the tcmalloc internals I found the usage is fine..
std::out just hasn't flushed the output to the terminal.. switch to c printf solves the problem.


“Fund your wallet” popup intrusive and won’t go away

this won’t go away no matter what I do. I want to see my channels, not fund my wallet

@maltokyo there is a fix for this that was merged within the last day. This should be fixed when a new version is released.

Ok thank you
On Fri, 18 Oct 2019 at 03:04, chitowncrispy<EMAIL_ADDRESS>wrote:

@maltokyo https://github.com/maltokyo there is a fix for this that was
merged within the last day. This should be fixed when a new version is
released.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/LN-Zap/zap-iOS/issues/288?email_source=notifications&email_token=AAKS7W6J4U63ML7GOGT3KY3QPEDSFA5CNFSM4JCAOFU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBSCP6A#issuecomment-543434744,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKS7WYDHXNDEH3DLCCRVOTQPEDSFANCNFSM4JCAOFUQ
.


fix(start): remove is_ready check

This is blocking on_ipc_ready from the example, and might confuse people when the bot is not ready and the event is not being fired. The PR simply removes the bot.is_ready check, since listeners are built up before the bot might be ready, as in the example the ipc server being started before bot.run.
The only way for creating an ipc server is starting it before the bot loop is running.

It seems like this reverts #2, is the runtime error handled any differently now?
(Also, to fix the failing workflow, a rebase or merge should work.)

It seems like this reverts #2, is the runtime error handled any differently now?
(Also, to fix the failing workflow, a rebase or merge should work.)

The change works for me and has been tested. I'm not sure what happened before, it would be helpful to see which error got raised.


Version 1.1.4 hangs after update

Description
iOS version 12.4.5 and 12.4.6 (latest)
iPhone 5s
Language DE
Had a previous version of Stopp Corona installed and successfully configured (autoupdate on, mic on). Don't remember which version.
The app autoupdated to version 1.1.4 (latest).
If opened it shows the screen "Willkommen" and hangs after clicking forward to the last screen "Einwilligungserklärung" with a grey (inactive) button "Fertig".
Deleting and reinstalling the app does not help.
Also updating iOS to 12.4.6 (latest), deleting the app and reinstalling does not change the behaviour.
The FAQ at https://participate.roteskreuz.at/faq_stopp_corona_app/ does not provide helpful information to solve the problem.

Hi @wollmers
did you install from play store?

@uluckas I installed from the Apple App store as usual. That's the standard way on an iPhone.
"play" would be Android.

@uluckas
How complicated would it be to build and debug the app myself? I have Xcode on MacOS Mojave 10.14.6 and an old iPhone 5. But no experience in coding swift. Looks like C++, Java and all the other reinventions of the wheel.

Sorry, i am working on both platforms. Mixed up play- and app store.
You can not build the app your self because the source code does not include the API keys to for your self built app to connect to our back end, our p2pkit account and others.

Version 1.2.1 still has the same issue.

We were never able to reproduce the issue. It is expected that the button is greyed out until you accept the terms on the page, but after that the button should work.

@bastianh OK, now I read your comment 3 times, because it sounds not logical in comparison to what I see on my iPhone.
My screen begins with "Einwilligungserklärung" and ends with "ausgetauscht." Then comes the greyed button "Fertig".
I do not see the checkbox "Ich stimme zu" without scrolling. How should I know that I have to scroll down, if the previous 5 screens used red buttons "weiter" in the same place? Now I got it, puzzling over the meaning of "accept" in your comment and playing around.
It's a serious usability issue. Misleading interface design. And it's also an issue of incomplete documentation & FAQ.
At least the update didn't work automatically.

@bastianh OK, now I read your comment 3 times, because it sounds not logical in comparison to what I see on my iPhone.
My screen begins with "Einwilligungserklärung" and ends with "ausgetauscht." Then comes the greyed button "Fertig".
I do not see the checkbox "Ich stimme zu" without scrolling. How should I know that I have to scroll down, if the previous 5 screens used red buttons "weiter" in the same place? Now I got it, puzzling over the meaning of "accept" in your comment and playing around.
It's a serious usability issue. Misleading interface design. And it's also an issue of incomplete documentation & FAQ.
At least the update didn't work automatically.

@wollmers Feedback from my side: You could have written that in a more friendly way. Probably not the best way to get contribute to a project.

@tomLadder What exactly is the reason for your ad hominem comment?

@wollmers can you still reproduce this on the version released today?

@wollmers can you still reproduce this on the version released today?

opened the app: "Aktuelle Version herunterladen" (download current version), "Zum App Store"
in the app store shows "Version 2.0.2", and "needs iOS 13.5 or newer"
leave the store, try to update from iOS 12.4.7: says current installed is the newest. Hardware is iPhone 5s
Google for it: https://support.apple.com/de-de/HT201222 says, iOS 13.5 is only available for iPhone 6s
try update the Stopp Corona App anyway. Watching the progress icon it downloads completely, but does not install.
now the app hangs in step 1. (see above)

Seems there are new issues now with severity critical:

update to 2.0.2 not possible on iPhone 5s
app (1.2.1) now unusable, because of the version check

Yes... unfortunately the exposure framework from Apple is only available for iOS 13.5, so it's not possible to use the app on iPhone 5s anymore.

@bastianh So it will never be usable on iPhone 5s?
If so, the FAQ should be updated to mention it.
And you can close this issue as unsolvable.

Going to close this issue then. Unfortunately there is nothing that can be done here without changes on Apple's side.


Flatten directory structure

Pull Request Test Coverage Report for Build 150

31 of 37 (83.78%) changed or added relevant lines in 9 files are covered.
20 unchanged lines in 7 files lost coverage.
Overall coverage decreased (-0.03%) to 86.262%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Type/scalars.php
1
7
14.29%

Files with Coverage Reduction
New Missed Lines
%

src/Type/scalars.php
1
58.95%

src/Execution/ExecutionContext.php
1
87.5%

src/Execution/ExecutorExecutionStrategy.php
2
71.43%

src/Execution/ExecutionArguments.php
2
0.0%

src/Execution/ExecutionResult.php
3
50.0%

src/Execution/ExecutionStrategy.php
4
85.71%

src/Execution/Execution.php
7
83.33%

Totals

Change from base Build 134:
-0.03%

Covered Lines:
1890

Relevant Lines:
2191

💛  - Coveralls

Pull Request Test Coverage Report for Build 150

31 of 37 (83.78%) changed or added relevant lines in 9 files are covered.
20 unchanged lines in 7 files lost coverage.
Overall coverage decreased (-0.03%) to 86.262%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Type/scalars.php
1
7
14.29%

Files with Coverage Reduction
New Missed Lines
%

src/Type/scalars.php
1
58.95%

src/Execution/ExecutionContext.php
1
87.5%

src/Execution/ExecutorExecutionStrategy.php
2
71.43%

src/Execution/ExecutionArguments.php
2
0.0%

src/Execution/ExecutionResult.php
3
50.0%

src/Execution/ExecutionStrategy.php
4
85.71%

src/Execution/Execution.php
7
83.33%

Totals

Change from base Build 134:
-0.03%

Covered Lines:
1890

Relevant Lines:
2191

💛  - Coveralls

I didn't touch the Execution so this should be fine to merge.


Fallback to trying to create bucket without LocationConstraint

Not all S3 implementations support LocationConstraint. This falls back to trying to create the bucket when InvalidLocationConstraint encountered.
https://github.com/canonical/postgresql-operator/issues/689

Looks like I'll need to wait for https://github.com/canonical/postgresql-operator/pull/692 as well

Any updates on this?
As it is right now, even with manually creating the bucket, I can't get backups to be created - Action id 40 failed: Stanza was not initialised

Do you have access to ProdStack6? Deploying the charm, the integrator, relating the two should be easily reproducible.
Failing that, I can go through it in a Google Meet / screenshare session. Feel free to reach out to me on Mattermost.


(feature) Also return body

+1
I'd like to (in addition to links) extract the "card" google adds on top for known questions.
Exposing the body could make this possible without having you implement the scrapping.
May I suggest you pass the cheerio instance ($) rather than body, else one needs to re-require cheerio on the outer project to do that extra scrapping.

@flesler I added the cheerio instance :+1:
@jprichardson please merge, this is a trivial change...

Actually, I think https://github.com/jprichardson/node-google/issues/10#issuecomment-190263024 would be a better approach.

I'd be in favor of @flesler proposal and would accept a PR for that. @DomiR if you'd like to see this change, please update the docs as well. Thanks.

I hope you don't mind, I forked and I'm building an alternative PR from scratch with a single res object, bumped version to 2.0.0 because it's not backwards compatible, updating docs and tests as well

Proposed a solution, with docs and tests updated on #38

@jprichardson you should be able to close this now


Fix multi touch issue

Touch events were dispatched to multiple items.
Now they will be dispatched to the topic item where the first pointer went down until the last pointer goes up.

Thanks for submitting this. Before merging I'd like to understand better what problem this PR is attempting to solve. Please raise an issue with reproduction steps and reference this PR.

Also, please fix the format violations by running:
./gradlew --init-script gradle/init.gradle.kts --no-configuration-cache spotlessApply


[Bug]: Toolbar hidden is not working

The toolbar prop works as expected with the value 'top', but it defaults 'hidden' and any other string to the 'bottom' value.
According to the docs, it should be working with 'top', 'bottom' & 'hidden', but it's not happening atm.
For reference, please check out Example 5 from your demo, the toolbar is at the bottom of the tableau illustration. However, I can see that the prop is set to 'hidden' here.
Is that something that you're planning to fix? @stoddabr

@stoddabr - I'm closing this issue because it's answered here. https://github.com/tableau/embedding-api-v3-samples/issues/14


[binder] Reduce UID logging level to INFO

Logging it every time is quite annoying...

It will be replaced with security policy logs later so there will be logs anyway; it only logs at SETUP_TRANSPORT, do you have some use case that will set up a lot of transport?

It will be replaced with security policy logs later so there will be logs anyway; it only logs at SETUP_TRANSPORT, do you have some use case that will set up a lot of transport?

In the binder transport benchmark there will be a lot of SETUP_TRANSPORT requests. But I guess either is fine because we could just disable logging via GRPC_VERBOSITY.


Fix network deletion when using run stages

LGTM. As long as you can verify this works, check-in!
Thanks for quickly fixing this!


Icons in buttons misaligned and too big

Codepen https://codepen.io/anon/pen/NYaZbw
Tested with Chrome and Firefox.
I am using examples from the vue-mdc and the mdc websites, i.e.,
<mdc-button><mdc-icon icon="favorite"></mdc-icon>vue-mdc</mdc-button>

and
<button class="mdc-button">favoritepure-mdc</button>

With the Chrome dev tools, the icon part of the vue version looks as follows
favorite

and of the pure version as
favorite

Using the Chrome devtools for the vue version, I've replaced mdc-icon--material with mdc-button__icon in the class attribute and it looks OK (see "hacked-vue-mdc" in the codepen):
favorite

Looking at the underlying MDC button component it allows for an icon to be added by nesting an element with mdc-button__icon. The examples in the docs show both how to use Material Icons and an SVG icon, and by extension one could presumably add custom markup to use a different font library or otherwise.
The vue-mdc-adapter component mdc-icon is not exclusively for adding an icon to a button, but can be rendered as needed. It is also opinionated and rightly or wrongly sets the font-size (24px) and line-height (1), which is unsuitable for a button.
So the following markup renders correctly:
<mdc-button>
  favorite
  Button
</mdc-button>

The question is should there be a mdc-button-icon component, and what purpose would it solve?
One problem is that Vue components generally need to render to a single root node (element) so needs to know if it is rendering an  or <svg /> or something else or emit a wrapper element. But emitting a wrapper element could then upset the rendering due to the html structure not being what was expected by the material-components-web designers (or it becomes biased towards material icons without considering font-awesome/svg etc). You would also still have to have a mechanism for choosing to render a Material Icons icon or some custom markup.
It seems that creating an mdc-button-icon might mean more verbose markup to set options and select the kind of element to produce than simply entering the plain html as the above example. In any particular project as opposed to a library, one could easily create a custom component according to its specific requirements, because the decision to use Material Icons or otherwise has been taken.
At this stage, therefore, I think we should update the documentation to avoid using mdc-icon in button markup. Having experimented a little I do not think we should introduce a new component (mdc-button-icon) that is neither wrapping a native element or managing more complicated behaviour.

Thank you for your investigation and the quick feedback! I am happy with adding the explicit markup.
Just to add a learner's perspective: my expectation would be to have an optional icon attribute for mdc-button, similarly to mdc-tab
<mdc-tab-bar>
  <mdc-tab icon="phone"></mdc-tab>
  <mdc-tab icon="{className: 'fa fa-favorite'}"></mdc-tab>
  <mdc-tab><svg slot="icon">...</svg></mdc-tab>
</mdc-tab-bar>

Of course the gain in convenience is certainly slanted towards Material Icons and I have no idea, how much complexity this would add to the button class, for handling something that is not the common use case.

I thought about adding an optional icon attribute, but then even that got complicated because it could be a leading icon or a trailing icon or both, or even multiple icons!
Anyway glad you are happy with the explicit markup for now.


chore: export the useScreenResize hook

What's the purpose of this pull request?
export the useScreenResize hook so that stores can leverage the use of this hook.

@mariana-caetano: request to update the doc :)


cloud_firestore runTransaction Error

Hi,
I'm getting an error message Provided document reference is from a different Firestore instance when I try to run a transaction using the cloud_firestore plugin.  I created a SO question for it.  Any help is greatly appreciated.
https://stackoverflow.com/questions/50280256/flutter-cloud-firestore-plugin-transactions-on-android

seems to be caused by the firebase_core plugin.  once I disabled it, the problem ceased.

Sorry for the late response.
Is this still an issue with recent Flutter versions?

I haven't tried in a few weeks because I worked around by running transactions on cloud functions.

Hi, Can you reproduce the issue using the latest cloud_firestore (0.9.5+2) plugin?

Closing due to lack of response, feel free to let us know here or open a new issue if you're still experiencing this crash.

It's possible that 0.9.2 may have helped with this issue: https://github.com/flutter/plugins/commit/8044950c00a4434bf6e19a4a9339b73c855ad6f2#diff-82f42c571d79614e9e0528575e0a402d
What I think we really need is a regression test for the Transactions example in the stack overflow ensuring that it works on iOS and Android.

@dac3971
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/824. Any further collaboration will be done there.


Wrong current time after changing hourStart and hourEnd

Hello, when I change hourStart and hourEnd to go from 8am to 8pm to a full day, the time slot changes well but the current time line shifts to the bottom of the calendar.

@florianfish
It looks like a bug.
At the source code, it doesn't check whether it passed the defined hourEnd option.
http://github.com/nhn/tui.calendar/blob/ebdbe37cd98be821dd22a7c0eefcd241349fd65a/src/js/view/week/timeGrid.js#L634-L647

Hi @adhrinae,
Ok, so when do you think a fix is deployed to fix this?


Combine k8s and aks set context

Added aks-set-context's functionality to a function in k8s-set-context along with tests.

just a heads-up that you will need to sign your commits before merging


optimized seq filtering step

fixes #4

thanks @gregcaporaso ! all fixed

thanks for your patience @gregcaporaso !

No problem, thanks @nbokulich!


Consider IEnumerable rather than TextFileCollection in IOdcmWriter interface

Hi there,
The current IOdcmWriter interface returns a TextFileCollection and the implementation of the mentioned class is empty.
If no behavior or implementation will be added into the TextFileCollection class, consider returning an IEnumerable<TextFile> instead.
The current design forces a call to the  AddRange method when working with IEnumerables just to return a collection.
https://github.com/Microsoft/Vipr/blob/master/test/CSharpWriterUnitTests/CodeGenTestBase.cs#L112
proxySources.AddRange(originalProxySources
            .Select(file => new TextFile(file.RelativePath, internalsHeader + file.Contents)));

As you can see, we could use the projection instead, without adding it into the proxySources TextFileCollection.
Thoughts?
Thanks!!

This type was originally a Dictionary<string, string>. When replacing that primitive with types that were easier to reason about [TextFile, TextFileCollection] we noticed two things:

The return type of GenerateProxy is used in many callsites across the solution
As the first few writers solidified, we expected some churn on the data that was to be returned

To avoid a repeat manual refactoring we therefore decided to introduce the TextFileCollection which we could grow and rename to meet the needs of writers as they matured.
@marcote, your team is the other primary contributor of writers at this time. Do you feel an IEnumerable is sufficient and we should remove the TextFileCollection abstraction? Will you not need non-text files to fully describe Java/Objective-C content?

@piotrpMSFT right now we have a proper implementation of the IOdcmWriter interface in our T4TemplateWriter, relying on the Vipr's FileWriter class for write to disk ops and works fine. We don't need (so far) anything extra to generate Java/Objective-C code but if that were the case, we could subclass the TextFile class and add what we need there.
I can create a PR with the refactor if interested. I'm pretty sure the code will be cleaner and worse case scenario, while working in the PR I can discover a blocking issue that prevents the refactor.

For cleanliness, can you create an abstract base class called OutputFile which has just the relative path, make TextFile a derived class of that one, and make the return value an IEnumerable? I think that deriving, say, ImageFile from TextFile will be pretty strange...
Thanks @marcote !

@marcote, can you assign to yourself?

@piotrpMSFT I can't assign myself. Otherwise I would do it.

Thank you guys!


Updating and unifying biomarker representation across parsers

Background
@JarrodBaker drew my attention to the fact that there’s a discrepancy on how biomarkers are represented in different evidence sets. In the cancer_biomarkers there are biomarkerName  and biomarkers, which is not a list, but an object in which there are two properties: variant (array) and a geneExpression (array). In the new evidence set prepared for the partner preview, biomarkers is a list with objects with properties name and description . This discrepancy needs resolved.
On the partner preview front-end biomarkers are shown as chips, where the descriptions are shown upon hover-over. In case of cancer_biomarker evidence is displayed on a more detailed way.
Tasks

[ ] Solidify a consistent schema for both use cases
[ ] If reasonable unify the front-end visualisation of biomarkers across all evidence.

Acceptance tests

Get JSON schema that describe the biomarker object
Update all relevant parsers to accommodate the updated schema
Validate evidence against the new schema

@DSuveges close?

This issue is not yet ready to be closed. The two schemas are still divergent, but it is not so important at the moment jump on it.
To be honest, I am not 100%sure how to properly model biomarkers.


Let hotbackup only stop leader transactions.

This is the first part of a fix to not let hotbackup disturb imports. This allows a leader transaction to complete after the lockdown, since it can still start follower transactions to replicate the operations.

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/11383/

Tests blue.


ARC should handle OOM killed runners

Checks

[X] I've already read https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors and I'm sure my issue is not covered in the troubleshooting guide.
[X] I am using charts that are officially provided

Controller Version
0.8.0
Deployment Method
Helm
Checks

[x] This isn't a question or user support case (For Q&A and community support, go to Discussions).
[X] I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes

To Reproduce
1. Deploy a release of `gha-runner-scale-set` with a `ACTIONS_RUNNER_CONTAINER_HOOK_TEMPLATE` to customize the resource requests and limits of the runner.
2. Run a job in GitHub and getting this runner OOMKilled.

Describe the bug
When the runner is OOMKilled, nothing appends and the pod stays in OOMKilled status. The controller doesn't seem to handle this case, and the job finally times out.
Describe the expected behavior
I think ARC should handle the case the runner is OMMKilled by stopping the job in GitHub with an error status.
Additional Context
kubectl get pods -n arc-runners
# NAME                                                           READY   STATUS      RESTARTS   AGE
# arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m            1/1     Running     0          13h
# arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m-workflow   0/1     OOMKilled   0          136m

Controller Logs
2024-03-04T00:23:29Z	INFO	EphemeralRunnerSet	Created new ephemeral runner	{"ephemeralrunnerset": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l","namespace":"arc-runners"}, "runner": "arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m"}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Adding runner registration finalizer	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Successfully added runner registration finalizer	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Adding finalizer	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Successfully added finalizer	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Adding finalizer	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Successfully added finalizer	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Creating new ephemeral runner registration and updating status with runner config	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:29Z	INFO	EphemeralRunner	Creating ephemeral runner JIT config	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Created ephemeral runner JIT config	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}, "runnerId": 5715}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Updating ephemeral runner status with runnerId and runnerJITConfig	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Updated ephemeral runner status with runnerId and runnerJITConfig	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Creating new ephemeral runner secret for jitconfig.	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Creating new secret for ephemeral runner	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Created new secret spec for ephemeral runner	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Created ephemeral runner secret	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}, "secretName": "arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m"}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Creating new EphemeralRunner pod.	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Creating new pod for ephemeral runner	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Created new pod spec for ephemeral runner	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Created ephemeral runner pod	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}, "runnerScaleSetId": 9, "runnerName": "arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m", "runnerId": 5715, "configUrl": "https://github.com/XXX", "podName": "arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m"}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Waiting for runner container status to be available	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:31Z	INFO	EphemeralRunner	Waiting for runner container status to be available	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:59Z	INFO	EphemeralRunner	Waiting for runner container status to be available	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:59Z	INFO	EphemeralRunner	Ephemeral runner container is still running	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:59Z	INFO	EphemeralRunner	Updating ephemeral runner status with pod phase	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}, "phase": "Pending", "reason": "", "message": ""}
2024-03-04T00:23:59Z	INFO	EphemeralRunner	Updated ephemeral runner status with pod phase	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:23:59Z	INFO	EphemeralRunner	Ephemeral runner container is still running	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:24:13Z	INFO	EphemeralRunner	Ephemeral runner container is still running	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:24:13Z	INFO	EphemeralRunner	Updating ephemeral runner status with pod phase	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}, "phase": "Running", "reason": "", "message": ""}
2024-03-04T00:24:13Z	INFO	EphemeralRunner	Updated ephemeral runner status with pod phase	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T00:24:13Z	INFO	EphemeralRunner	Ephemeral runner container is still running	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}
2024-03-04T11:27:43Z	INFO	EphemeralRunner	Ephemeral runner container is still running	{"ephemeralrunner": {"name":"arc-runner-set-aks-stg-fc-001-at-f2g6l-runner-59x5m","namespace":"arc-runners"}}

Runner Pod Logs
...
[WORKER 2024-03-04 13:49:04Z INFO HostContext] Well known directory 'Bin': '/home/runner/bin'
[WORKER 2024-03-04 13:49:04Z INFO HostContext] Well known directory 'Root': '/home/runner'
[WORKER 2024-03-04 13:49:04Z INFO HostContext] Well known directory 'Work': '/home/runner/_work'
[RUNNER 2024-03-04 13:49:14Z INFO JobDispatcher] Successfully renew job request 93068, job is valid till 03/04/2024 13:59:14
[WORKER 2024-03-04 13:49:14Z INFO HostContext] Well known directory 'Bin': '/home/runner/bin'
[WORKER 2024-03-04 13:49:14Z INFO HostContext] Well known directory 'Root': '/home/runner'
[WORKER 2024-03-04 13:49:14Z INFO HostContext] Well known directory 'Work': '/home/runner/_work'
...

Moved issue to hooks, since the hook should be responsible for maintaining resources that it creates :relaxed:

happened here as well
runner went OOM and the workflow just froze up

Hey everyone,
The main problem is that we do not use the scheduler to schedule pods. The reason is that we need workflow pods to land on the same machine where the runner is. There is an option to use a kube scheduler, however, it requires the ReadWriteMany volume.
Under these constraints, we can't do anything else. There is a great PR and a suggestion on how to work around the issue. Hopefully, we can dedicate time in the future to test it and double-check if it works. However, OOM killed is raised by k8s, so the best thing you can do at this time is to ensure your nodes can handle the load, or use the read write many volume to allow workflow pods to be scheduled on different nodes.

I think i am facing different issue
I am using arc with dind template as explained in the documentation
The pod resources created by the scaleset are limited
Like a core and 2 gb ram
The issue happens when the workflow requests more resources from what the scaleset runner has defined
Causes kubernetes to kill the pod
Instead of getting something useful on the action logs, like returning oom status
Kubernetes reschedule the pod
And it stuck at waiting IPV from dispatcher
at the same time the action logs get stuck
and i have to force kill the action


[impeller] the blur can crash from an overflow with the correct scale + sigma

Certain combinations of scale + sigma can cause the shader to overflow now that we are scaling the sigma based on the entity's transform.
I played around with this a bit and just increasing the sigma from zero to 1000 won't cause a crash.  A scale is required.
The following patch will make it never possible.  It seems like it isn't throwing much away in the case that hits this.  The way that this should work is that GaussianBlurFilterContents::CalculateScale should accommodate for large sigmas with a counteracting downscale.  There is a certain range of input that is falling through the cracks though.
diff --git a/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc b/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc
index 035109e519..96c585b3fe 100644
--- a/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc
+++ b/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc
@@ -653,6 +660,13 @@ GaussianBlurPipeline::FragmentShader::KernelSamples GenerateBlurInfo(
     x_offset = 1;
   }

+  // This is a safe-guard to make sure we don't overflow the fragment shader.
+  // The kernel size is multiplied by 2 since we'll use the lerp hack on the
+  // result.
+  if (result.sample_count > (2 * (kMaxKernelSize - 1))) {
+    result.sample_count = 2 * (kMaxKernelSize - 1);
+  }
+

reproduction steps

run the EntityTest.GaussianBlurFilter
set the x scale to 3.0
set the sigma to combined
start increasing the sigma
notice that around 300 sigma, there will be a crash

This doesn't overflow anymore but may lead to suboptimal results.  I suspect the suboptimal visual results are not noticeable.  The fact that the blur is happening with a larger kernel than I expected means we have suboptimal performance though.  Originally the code was setup to downscale the input so that a kernel over 50 sample wasn't needed.  Then the lerp hack would take it down to 25.  The scale-sigma change made that math out of date though and we are getting kernels over 50, but most of the time the lerp hack will bump them below 50.


Enhancements and refactoring: Ruff checks resolved

This PR closes #441 and #417 by removing the exclusion of ruff checks for dj_pipeline from pyproject.toml.

[x] UPDATE: I’ve added comments in this PR to highlight code changes and make the review process easier for reviewers.
[x] UPDATE2: the following changes have been reverted:

[x] Revert black formatting ( revert max line length to 88 instead of 105)
[x] Revert changes in streams.py
[x] Revert changes about Assertion replacement in tests

This is a summary of the relevant changes that have been implemented, with all checks passing:
Resolved issues for aeon/dj_pipeline:

[x]  B006: Fixed mutable default argument in plotting.py.
[x] B021: Removed dynamic references and made the docstring static in DeviceDataStream.key_source, ensuring it remains informative.
[x] D101, D102, D103, D105, D106: Added new docstrings.
[x] E501: Corrected most lines that were too long, adding exceptions in a few cases to preserve the intended meaning.
[x] D202, D205: Improved docstring formatting.
[x] F401, F403: Removed unused imported dependencies.
[x] I001: Sorted dependencies.
[x] B905: Added strict=False to the zip function to prevent the function from raising a ValueError if the iterables passed to it do not have the same length.
[x] Security: Replaced hashlib.md5 with hashlib.sha256 due to known vulnerabilities in the MD5 hashing algorithm -> Reverted: Change was reverted, and an ignore rule was added due to potential breakage introduced by the update.
[x] B904: Enhanced exception handling by using as err and raising exceptions with raise ... from err to differentiate errors.
[x] UP038: Used the new X | Y syntax for isinstance calls, as introduced in Python 3.10.
[x] PLR2004: Replaced magic values with constant variables.
[x] SIM108: Refactored visit_analysis to use the ternary operator.
[x] Removed checks from pyproject.toml list: No issues found for B006, B021, S110, UP038, E999, E722, F821, S324, S605, S607, E999, PLR2004.
[x] README.md: Added some text.
[x] Refactor: Updated the read method in the JsonList class within aeon/io/reader.py.
[x] E741: Renamed the variables in gen_hex_grad in aeon/analysis/block_plotting.py.
[x] Refactor: Made improvements to dictionary handling in aeon/analysis/block_plotting.py.
[x] # noqa Exceptions: Added # noqa comments for specific cases, e.g., in reader for F821 and # noqa PLW0127 for visit_analysis.py.

Additional fixes to the rest of the reporitory:
In addition to the above changes, I have also resolved most of the ruff lint issues from the ignored list in pyproject.toml, ensuring all checks passed:

[x] D100, D104, D105, D107: Added missing docstrings.
[x] E201, E202, E203, E231, E702: Corrected whitespace and formatting.
[x] S101: Replaced assertions with exceptions to ensure expected behavior in all scenarios; also added logger=dj.logger where appropriate. -> Reverted assertions replacement in tests and added rule in pyproject since it is acceptable to use for small, simple tests.
[x] PT013: Fixed the import of pytest in tests.
[x] pyproject.toml updated accordingly
[x] All checks passed after the latest changes in this PR.

Deprecation Fix:

Updated all instances of datetime.utcnow() to datetime.now(timezone.utc) to address deprecation issues.

Can we re- remove ignoring ruff d104 and d100 errors in the pyproject.toml in this PR as well?

Can we re- remove ignoring ruff d104 and d100 errors in the pyproject.toml in this PR as well?

wdym? I thought this was already the case? These are all that's left 🎉
https://github.com/SainsburyWellcomeCentre/aeon_mecha/blob/48493cbc0de8b6e2a5e20bcebc0f30f3f7e6719b/pyproject.toml#L99-L106

Thanks @MilagrosMarin for addressing all comments. I made another PR here with some final suggestions. And just one last comment about noqa B023 here:
https://github.com/SainsburyWellcomeCentre/aeon_mecha/blob/6279bda3faa16916a2a84226e9ee82e669a88367/aeon/io/reader.py#L164
If it's too much trouble to test this we can also keep the current change.

I have tested this, good to go here

All comments/suggestions have been addressed/resolved
PR merged


Add streaming to Remote Read endpoint

Remote read is quite inefficient right now and could be made much better through streaming. This has been discussed in the dev-summit: https://docs.google.com/document/d/1-C5PycocOZEVIPrmM1hn8fBelShqtqiAmFptoG4yK70/edit#heading=h.5d2mc4i0bnnp

I can take it if no one started working on this.
Design doc: https://docs.google.com/document/d/1JqrU3NjM9HoGLSTPYOvR217f5HBKBiJTqikEB9UiJL0/edit?usp=sharing
Dev-mailing topic: https://groups.google.com/forum/#!topic/prometheus-developers/79b6j_6F_Vc

According to https://github.com/prometheus/prometheus/pull/4655 it seems this has been resolved in prometheus 2.5.0

I would like to add that, as a vendor implementing the server-side of remote read API, the lack of streaming adds similar memory pressure on the marshaling side.
@bwplotka I notice that your already have a PR for streaming support in #4591. Whenever this is approved for merge, we would be happy to implement it on our storage and validate.

Yes. This is working code for streaming with raw samples, but we have some internal discussion how it should be done. I closed it to reduce confusion for now: https://github.com/prometheus/prometheus/pull/4591
TL;DR: It would be nice to have remote read stream with Prometheus chunk encoded samples (instead of row samples), to avoid unnecessary decoding & encoding. Does it
The plan is to:

Change the doc to propose this idea (right now it proposes something in between)
Setup a call to gather feedback on this idea.

Did not have much time to jump into it yet, but I am happy to hear that you are ok to help with this!

It would be nice to have remote read stream with Prometheus chunk encoded samples (instead of row samples), to avoid unnecessary decoding & encoding.

Is that essentially "Alternative 1" in the design doc ?

Exactly, but need to reorder ;p

Just FYI, since we got concensus on this, expect more finalized design doc (same link: https://docs.google.com/document/d/1JqrU3NjM9HoGLSTPYOvR217f5HBKBiJTqikEB9UiJL0/edit#) and initial benchmarks soon. I scheduled some time for this work in June.

Back to business!
Protobuf changes: https://github.com/prometheus/prometheus/pull/5701
Delimited streaming: https://github.com/prometheus/prometheus/pull/5702
All, including basic server side implementation (draft): https://github.com/prometheus/prometheus/pull/5703
Caller usage example (Thanos): https://github.com/improbable-eng/thanos/pull/1268
Living document: https://docs.google.com/document/d/1JqrU3NjM9HoGLSTPYOvR217f5HBKBiJTqikEB9UiJL0/edit#

First MVP should be safe to use. I build 2 docker images if someone wants to try:

bplotka/prometheus:v2.11.0-rc.0-rr-streaming with remote read streaming server support (https://github.com/prometheus/prometheus/pull/5703)
improbable/thanos:v0.5.0-rr-streamed2 with thanos sidecar remote read streaming support.

No config changes, just move docker images to that Prometheus and Thanos sidecar tags and enjoy!
2 big requests against Prometheus + sidecar in upgraded version look like this memory and CPU wise:

Versus old one with non-streaming sampled read (3GB of mem!):

Remote read now supports streaming.

Follow up tasks:

Docs: https://github.com/prometheus/prometheus/issues/5925
Chunk iterator instead of reencoding:  https://github.com/prometheus/prometheus/pull/5882
https://github.com/prometheus/prometheus/issues/5926


[meson] Re-add build_by_default to embedded targets.

Apparently, build_by_default's default value is dependent on both the target type (custom_target vs executable) and Meson version. Even worse, Meson's documentation merely states that it affects "running plain ninja", and not that it also removes the target from the "all" target.
Fixes #1052.

CI fails because the sha256 test fails.
DEBUG:functional_verilator_test:fd#9: b'Commit ID:  274306ecef72c623f59e8d9334986013798e4131\r\n'
DEBUG:functional_verilator_test:fd#9: b'Build Date: 2019-11-22, 15:58:33\r\n'
DEBUG:functional_verilator_test:fd#9: b'INFO: Boot ROM initialisation has completed, jump into flash!\r\n'
DEBUG:functional_verilator_test:fd#9: b'Running SHA256 test\r\n'
DEBUG:functional_verilator_test:fd#9: b'FAIL!\r\n'

I'd be OK with disabling this test for now and filing a follow-up.

Done. I filed #1058 to track the breakage.


Additional info

Could the content thus far be given feedback?

I incorporated the changes and added content; available until Level 3 - CI. Can this be reviewed, please?


[iOS][UI] [Image size or height setting doesn't reflect correctly as desktop view]

Platform
mobile - iOS
What platform is your issue or question related to? (Delete other platforms).

iOS

Author or host
Are you an author (like sending something to Outlook), or a host that is rendering your own cards? If host, please specify the corresponding host (app) name.
host, using bot on Teams
If you're an author, who are you sending cards to?
Version of SDK
What version are you using? Ex: NuGet 1.0.2, or latest master, etc...
AdaptiveCard version 1.0
NETCore 2.1
Microsoft.Bot.Builder.Dialogs 4.6.3
Microsoft.Bot.Builder.Integration.AspNet.Core 4.6.3
Details
Desktop view correctly respond to image size or height setting. However, mobile view does not.
First card has one image height set as "100px", second card has three images size set as "medium", "large", and "small"
desktop view:

mobile view:

adaptiveCard.json
https://microsoft.sharepoint.com/:u:/t/skypespacesteamnew/EcoFXku_eRVDmDHQ1I7hM20BcWvO_grlgfbmaikUgjGEmg?e=JSYe5H

@nesalang could you take a first pass at this? Also do we need to track this with the MsftTeams* label(s)? @VikrantSingh01 FYI


[ How to cache API calls ? ]

Hi,
Thanks for the job^^
Like said in the title, How can we cache API calls via retrofit lib please ?
Saw a CacheManager into DIO's lib.
Is this the only way to implement cache via retrofit or is there a real Retrofit's way ?
Thanks in advance.
PS :: dio_http_cache, the lib i mentionned seems not to be maintained anymore... 20 months since last update and not compatible with several updated libs like @jsonannotations etc...
So my question is even more "crucial" ^^
How to set cache for API calls thanks to retrofit ?

copy the dio_http_cache  code


Go indexer: Render receiver types in marked source. [phab:D1626]

Created by fromberger at 2017-05-08 20:54:44:
When rendering a method for display, use not the name of the receiver, which is
largely uninteresting, but its type instead.

zarko commented inline (context lost during migration) at 2017-05-08 21:00:53:
Is it not useful to also include the parameter's name (rec)?

zarko commented inline (context lost during migration) at 2017-05-08 21:00:53:
If rec w is attached by a param edge, it may be printed multiple times here; you can start at a nonzero param using lookup_index.

fromberger commented inline (context lost during migration) at 2017-05-08 21:05:26:
Conventionally the receiver's name is some uninteresting nybble like "r", if it is named at all. So I think it's not generally useful to surface it, though it is posisble.

fromberger commented inline (context lost during migration) at 2017-05-08 21:05:26:
That is indeed what the code does. I forgot to include that in the test, though; I have now done so. Thanks!

fromberger wrote at 2017-05-08 21:05:27:

Include the lookup index in the code fact test.

zarko accepted this revision at 2017-05-08 21:13:39

fromberger closed via commit b43b1c7e31e2c22be372fe9bf2476f97fe72733c at 2017-05-08 21:14:31


:package: 2.0.0-beta.1

refactored to ES2015 spec
added changelog
pulled out .jshintrc file and grunt stuff
linted source
made sure tests run against built code

the only thing i couldn't figure out was how to not nest the class in a new module, so this is L.esri.Heat.heatmapFeatureLayer
let me know if this is how we want/need to do it, or whether there's a nifty trick to get it directly inside L.esri.

No hack this is the best we can do. Can you run the release script after this to get the release up?

thanks @patrickarlt!

Can you run the release script after this to get the release up?
done and done.


HTML5 implementation of a slider (vs. jQuery UI)

A blocking item for ipywidgets 6.x is to have an implementation of a slider that does not use jquery UI. ipywidgets actually has two types of sliders:

the classic slider
the range slider for two values

but the implementation of their views are collapsed into one single class.
We should probably separate these two cases into two different view types and replace the jquery-ui slider with an  tag. It is well supported across the browsers supported by jupyter however, the api for styling and making it vertical is a bit browser dependent.
https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
The axis widget of the game controller widget should probably also use the range input tag.
Then, we will have the problem of the "range slider" which is a two-values slider.

Duplicate of https://github.com/ipython/ipywidgets/issues/630


Create Coin Change Problem

Sir why Pull request of coin change problem is showing not up to standards as  i have submitted it on hackerrank and it was submitted successully.


HDF5 Support

Hi all,
If possible, I would like to add support for saving optimization results in HDF5 format. I have been running many hyperparameter optimization procedures and have been thinking that, rather dumping many pickle files, it would be nice to write to HDF5 with h5py.
Has anyone had a go at this? Would there be any immediate pitfalls/concerns for this approach?

I don't think I know anyone who has tried/worked on this before.
Immediate thoughts: can we get some experience from the joblib people about hdf5 vs joblib for storing large scikit-learn models. I think I read in their docs that they thought about this and optimised it a bit.
The other question would be: can we integrate it with the current utils.dump/load and avoid adding hdf5 as a dependency (if reducing number of dependencies is something we want to do).

I do not have much experience with joblib, and would be interested if anyone would have some input when it comes to storing the results of the hyperparameter optimization (including the objective function).
Trying a naive approach, just dumping the results of the Gaussian process example on https://scikit-optimize.github.io/notebooks/hyperparameter-optimization.html with
from sklearn.externals import joblib
import numpy as np
from skopt import gp_minimize

# ...
res_gp = gp_minimize(objective, space, n_calls=150, random_state=0, verbose=True)

joblib.dump(res_gp, "joblib_test.pkl")
returned_results = joblib.load('joblib_test.pkl')

Which returns with the following error, where there is no attribute 'objective' to load

I know the documentation covers the issue of storing the optimization objective and that can be alleviated by setting the keyword argument store_objective=False. If possible, I would like to come up with a way that would allow that objective to be saved and make it work with the existing utils.dump/load.

Are there any main features from skopt that will be lost without having saved the objective function, say any of the plotting, etc.?

https://scikit-optimize.github.io/#skopt.dump and https://scikit-optimize.github.io/#skopt.load should work with objectives that can be pickled. The reason for having store_objective=False is to support cases where the objective is something that can not be pickled.
Can't think of anything off the top of my head that wouldn't work. I think for cases where the objective can't be pickled people know how to "restore" the objective function through some other means.

So if the skopt.dump does not throw an exception, then skopt.load should work fine? If that is the case, I am not sure why I got the error above. It only ran with an error when loading it back from disk and did not have an issue when dumping it.

Yes, if skopt.load raises an exception I would consider that a bug.
In the screenshot above you used joblib directly. Can you try again via skopt?

After using skopt.dump and skopt.dump, I am running into AttributeError: module '__main__' has no attribute 'objective'. I am testing it on the Gaussian process example (without making any changes) here: https://scikit-optimize.github.io/notebooks/hyperparameter-optimization.html

Your traceback suggests it has something to do with Python3. Upon some googling, it should work if you do "from script import objective" before unpickling the object.
The reason is given here (https://docs.python.org/3/library/pickle.html#what-can-be-pickled-and-unpickled)
Note that functions (built-in and user-defined) are pickled by “fully qualified” name reference
not by value. [2].
This means that only the function name is pickled, along with the name of the module
the function is defined in.
Neither the function’s code, nor any of its function attributes are pickled. Thus the defining module must be importable in the unpickling environment
and the module must contain the named object, otherwise an exception will be raised. [3]

So in a fresh environment, it cannot find the function objective in __main__ and hence you need to import it.

Coming to the original issue, why and what do you want to store in the hdf5 format?
If you have a good rationale for that and you are willing to write it, we can definitely support something like reading and writing into hdf5 file formats. I'm not super familiar with it myself.

Thanks @MechCoder, after importing my objective function everything works well.
Considering the hdf5 format, maybe I should start with the research project I am working on. I am a student intern at Oak Ridge National Lab and have been working on hyperparameter optimization for my group's various machine learning models (mostly large convolutional nets and recurrent nets) using the lab's supercomputers. My approach has been to break down the search space into small overlapping subregions over which I can run the sequential model based optimization procedures. It is my hope that distributing the process in this way would allow us to find a global optima faster than starting with the larger search space. More interestingly, I would like to see if we can find many reasonable local optima. If we do find many reasonable local optima, I would like compare how those settings of hyperparameters generalize compared with the global optima found.
Depending upon the size of the original search space, my approach can run in the 1000's of parallel optimization procedures. My group has asked me to look into storing the results as hdf5 as a way of organizing these many results. The file format is pretty popular with the HPC groups at the lab. I am not very familiar with hdf5 myself, and I am certainly not married to it. What I do need is a way of organizing all of these results for analysis and to later publish.
What are your thoughts? If the scikit-optimize team would be interested in this approach, I would be more than happy to share/contribute in any way.

Sure, good to hear that! feel free to share your code once you have a working version that dumps the results into a hdf5 format in the form of a pull request.

hdf5 seems pretty popular and well tested. With some technical finesse we can organise for dump/load to support joblib and hdf5 without making hdf5 a new dependency.
Another cool addition (for your problem) would be a callback like https://keras.io/callbacks/#modelcheckpoint built on top of dump/load


⚠ PrivateHD has degraded performance

In 1370321, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2504 ms

Resolved: PrivateHD performance has improved in 9a832e2.


fix: upgrade proposals for SDK >= 0.47

There's no more submit-proposal software-upgrade command, so it has to go through a full proposal.json

ty!!


refactor(jsx): Tidyup the types to be exported

Tidyup and organize the type definitions exported from hono/jsx in src/jsx/types.ts.
I don't think this will affect most users, but it could be a breaking change for a small percentage of users, so I think this should be included in a major version upgrade (v4).
New exported type

PropsWithChildren #2142

Changed types

Remove "children" from FC #2142
JSXNode

The previous "class as a value" import is no longer available, and only "type" import is now available.

import { JSXNode } from 'hono/jsx' is no longer available, only import type { JSXNode } from 'hono/jsx' is available.

No longer be exported
Until now, the types used internally were over-exported. With this PR change, types needed only internally should not be exported.

Props
JSXFragmentNode
jsxFn

Author should do the followings, if applicable

[x] Add tests
[x] Run tests
[x] yarn denoify to generate files for Deno

I am trying to figure out how to solve the following problem
https://github.com/honojs/hono/actions/runs/7776848588/job/21204467952?pr=2151

@usualoma
Maybe this issue: https://github.com/garronej/denoify/issues/124

@yusukebe Oh, thank you. I understand.
I think export * would work here, so I changed it temporarily with 874ca99.
Please review.

@usualoma
I think it is perfect except for the denofy matter. We can update that once denoify is fixed.
Thank you for your hard work.


django-fsm>=2 compatibility

Backward compatible changes for django-fsm>=2
django-fsm>=2 requires django>=1.6. Using an older version of Django results in the error TypeError: Error when calling the metaclass bases contribute_to_class() got an unexpected keyword argument 'virtual_only'
Issue fixed: Applying the fsm_log_by decorator prevents the transition from being returned by get_available_FIELD_transitions and get_all_FIELD_transitions.
Changes:

Imports now from django_fsm and not django_fsm.db.fields (affects tests)
Added new tests to check transitions are returned from get_available_FIELD_transitions and get_all_FIELD_transitions
Added @wraps to the fsm_log_by decorator to remedy the missing transitions

CI tests fail for where Django <= 1.6

Is the issue fixed now? I am still getting the same error when using  Django==1.5 and django-fsm==2.2.1


Support SECP256K signature verification

Describe the feature you'd like
In order to support decentralized bridge technologies for the ERC20 token converter project and other bridging projects, it is clear that the SECP256k signature scheme is needed - likely as a low-level call from the plutus interpreter directly
Describe alternatives you've considered
We've done some initial research on this at MLabs, and one of our researchers pointed to this existing implementation:
https://github.com/Chia-Network/bls-signatures
which has FFI bindings in Haskell:
https://github.com/hexresearch/hschain/tree/master/bls-signatures

The main thing we need is a high-quality, trustworthy implementation that we're comfortable linking into the Cardano node stack.
The linked implementation doesn't fill me with confidence:

NOTE: THIS LIBRARY IS NOT YET FORMALLY REVIEWED FOR SECURITY

Are there any others?

https://github.com/bitcoin-core/secp256k1 - Bitcoin's implementation
https://hackage.haskell.org/package/secp256k1 - another Haskell binding i quickly found

If you can enumerate your standards, happy to dig deeper on this.

It would also be helpful to explain some of the usecases a bit more clearly, also so we know we're actually providing the right primitives.

https://github.com/haskoin/secp256k1-haskell seems to be of OK quality.

@michaelpj - this actually comes from the ERC20 token converter team, who hopes to use the technology of Wanchain or similar to bridge tokens onto cardano in a decentralized fashion.
These technologies break up the private key among multiple validators, so that only by working in concert, can they properly sign a transaction.
Since the default transaction-level signature is incompatible, they  wish to provide the signature in Datum to be validated at the smart contract level.

@michaelpj Now that the PR to cardano-base is done (and nearly merged), what should be the next step? There's already a VerifySignature builtin, but it's hardcoded to a specific algorithm. Should I add another builtin, or generalize the existing one?

New builtin. It's unfortunate that we gave verifySignature such a generic name, it should really have been verifyEd25519Signature. The challenge will be costing it, but for now I think just leave the costing function as mempty.

Can't you rename it to that, and make the old name in PlutusTx.Builtins a deprecated alias of that?

That won't change the name in Plutus Core. We can potentially do something like that at the library level.

BTW: I'm not going to insist that we follow https://github.com/cardano-foundation/CIPs/pull/215 before getting this merged (unless you want to!), but I would be keen to collaborate on a retroactive CIP. Partly to enshrine the motivation etc., and partly just to put more examples through the process.

@michaelpj I'd be happy to collaborate on a retroactive CIP. How would you like to do this?

I'll share a google doc with you. It's not the best editor for this, but it's good for collaboration and we can port it to markdown later.

@michaelpj We have a related issue that I have opened 4 days ago and I would appreciate it if you take a look at it. We need to recover a public key from a signature (produced with an ethereum address) and a message hash. What we need is basically the exact implementation of ethereum ecrecover function which can be implemented using functions provided by libsecp256k1.

@michaelpj There is a https://github.com/input-output-hk/plutus/issues/4575 that I would appreciate it if you take a look at it. We need to recover a public key from a signature (produced with an ethereum address) and a message hash. What we need is basically the exact implementation of ethereum ecrecover function which can be implemented using functions provided by libsecp256k1.

@michaelpj There is a related issue (https://github.com/input-output-hk/plutus/issues/4575) that I would appreciate it if you take a look at it. We need to recover a public key from a signature (produced with an ethereum address) and a message hash. What we need is basically the exact implementation of ethereum ecrecover function which can be implemented using functions provided by libsecp256k1.


Add Trimish Collider / Concave Collider Shape

PR Details
Add Support for Trimish Collider and Concave Collider Shape for Bullet3
Description

Related Issue
https://github.com/stride3d/stride/issues/890#issuecomment-988337368
Motivation and Context
Because im a full-time nerd?
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My change requires a change to the documentation.
[-] I have added tests to cover my changes.
[x] All new and existing tests passed.

 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.

Most of the things mentioned here came from copying and changing the "ConvexHullShape". I can change things like that, but then I would do it for both of them. Convex and the Concave Collider. ?

A classic StaticMeshCollider can be only a box, a cone, a capsule, and a sphere. They are not there to store detailted informationns.
Btw. there is no collider type which can hold faces of the mesh. For performance reasons it is also nessecary to store them in an extra file (and load them with serialization). StaticColliders are not the right way for this.

With this PR we have to think also over an automated LOD System. Which is also necessary to reduce the collider size (multiple lods = multiple shape datas).


Allow users to build custom topologies

This came up with CapGemini yesterday.
Not sure how it would work - potentially allow users to "group" nodes in a topology by an arbitrary attribute, and then show connections between these groups?  One idea might be to allow users to tag  containers (maybe using docker labels?) and then group by that?

Yes, we had this via a DSL in the original version.

Just got an implicit +1 for this issue via @errordeveloper asking for a way to filter out containers he doesn't want to see.

More unprompted votes for this issue during the last couple informal demos.


Start Issue

'node' is not recognized as an internal or external command,
operable program or batch file.
AMPLink has crashed. Restarting in 30 seconds...

Disregard, put two and two together with node and the .js script. Didn't have Java runtimes installed on a new box.


Limited number of Queries

Dear Sirs,
While trying to integrate your feed into our website ODDS.am https://odds.am/en/ , we have the problem that your server limits the number of queries to your feed.
Is it possible to increase this limits? This would allow us to integrate your odds in the maximum number of pages.
Thank you!
Alex

Hi Alex,
Would you mind dropping an email at our support desk at<EMAIL_ADDRESS>Ask them to escalate it to Penfold and reference this Github page. We can get you setup in our slack channel to try and see if we can work out something that works better for you.


getting audio.

Originally reported on Google Code with ID 19
Are there any opportunities to get audio?
I try to get audio through
IWiktionaryPage page = wkt.getPageForWord("boat");
System.out.println(page.getEntry(0).getPronunciations().get(0).getText());

but I always got the same type (IPA).

Is thhre any opportunity to get AUDIO type?

Reported by rilot77 on 2015-05-15 19:27:03

Is thhre any opportunity to get AUDIO type?

Yes: iterate over all pronunciations instead of taking only the first one, and watch for getType() == IPronunciation.PronunciationType.AUDIO. (Make sure your build includes 4f302e81e1bb7668a98dd098bec5b1da31535490 to get it for more entries.)


Initial commit

Fixed grid-layout with no headers by adding the grid_no_headers configuration setting.
Addressed #110

:+1:


Authors not displayed on blog posts with more than 1 author

On blog posts with more than 1 author, the authors aren't displayed, only one GitHub URL is generated, and the URL is also incorrect.
For e.g. the post Making ESLint more inclusive has authors nzakas and kaicataldo, but nothing is displayed after "by", and the generated GitHub URL is https://github.com/nzakas,kaicataldo.

I found the error in the code causing this.
https://github.com/eslint/website/blob/ed5a6205d9a277bb9cc51956065d0b204baecc9f/_layouts/post.liquid#L20
should be
{% assign members = authors | split: "," %}

I have tried it out here on my fork.
Let me know if I can go ahead and submit a PR for this issue.
Thanks!

Hi @AkashaRojee,
Thanks for finding this error, a PR is welcome!

Hi @mdjermanovic,
Great, I'm on it!