Can we add support for local LLMs? Or how would you recomend going about making the modifications?

Instead of using chat-gpt, I would like to try and use a local LLM. I am sure this would take some modifications, but I think we could potentially make this work, and would be an awesome addition to the plugin as local LLM's are surpassing gpt 3.5.

Ollama recently added openai compatibility.  https://ollama.com/blog/openai-compatibility
I gave it a quick test, setting $OPENAI_API_HOST to localhost:11434.  No luck.  Not sure what changes are required to make this work.

Ollama recently added openai compatibility. https://ollama.com/blog/openai-compatibility
I gave it a quick test, setting $OPENAI_API_HOST to localhost:11434. No luck. Not sure what changes are required to make this work.

try this:
  {
  "jackMort/ChatGPT.nvim",
    event = "VeryLazy",
    config = function()
      require("chatgpt").setup({
        api_host_cmd = "echo http://localhost:11434",
        api_key_cmd = "echo ''",
        openai_params = {
          model = "codellama:13b",
          frequency_penalty = 0,
          presence_penalty = 0,
          max_tokens = 300,
          temperature = 0,
          top_p = 1,
          n = 1,
        },
        openai_edit_params = {
          model = "codellama:13b",
          frequency_penalty = 0,
          presence_penalty = 0,
          temperature = 0,
          top_p = 1,
          n = 1,
        },
      })
    end,
    dependencies = {
      "MunifTanjim/nui.nvim",
      "nvim-lua/plenary.nvim",
      "folke/trouble.nvim",
      "nvim-telescope/telescope.nvim"
    }
  }

My config that I provided above is not enough to call it "Local LLM Support".
Model name gpt-3.5-turbo is still hard coded for ChatGPTRun actions so they are unusable, and ChatGPTCompleteCode probably has the same issue. I would say that the first step in supporting local LLM's would be to expose those definitions like it was done for openai_params and openai_edit_params.
Best case scenario in my opinion would be to make this plugin a fully backend neutral interface to LLM's in neovim because it's so good.
I think LLM.nvim sounds good and it would be practical too because pressing : and then typing LL(same key) then  to complete to LLM is a more convenient than capital C lowercase h(keys further apart) then
I will understand if the maintainer won't like the idea of renaming the project to something more generalized(and OpenAI independent) and it is not necessary to do so in order to add local LLM support but I suggested doing so because I like the Idea of project names reflecting what projects do and ChatGPT.nvim suggests that only ChatGPT is supported.

I like the idea of swappable LLMs very much, but agnostic on repo name change.  There is brand awareness already for 'ChatGPT.nvim'. (3.2K stars!)  And as we know, OpenAI isn't "Open AI".  :laughing:

That's exactly what I thought about when I said that the maintainer probably won't like my idea to change the name of the project and I am fine with any decision on rebranding it to LLM.nvim or AI.nvim. After all it's the maintainer's choice, not mine. But I think supporting local LLM's is important for this plugin, otherwise it will be sooner or later(probably a lot later than I would like) superceded by https://github.com/huynle/ogpt.nvim the same plugin but with nothing directly related to OpenAI in the name(GPT is not related to OpenAI, it means generative pre-trained transformer), it already supports multiple LLM providers including local LLM's (o in ogpt stands for Ollama) and it's commands are accessible by pressing :O and <Tab> (3 keys so more convenient) to autocomplete to OGPT*
The only reason that I suggest this is because having 2 plugins with developer attention split between them is worse than having ONE plugin that everyone works on. ogpt.nvim is less polished and more buggy than ChatGPT.nvim due to how it(for now) focuses primarily on delivering backend support and is less well-known, ChatGPT.nvim on the other hand does not support backends that ogpt.nvim does because it's original goal was to only support ChatGPT and nothing else because there were no alternatives at the time. Today ChatGPT.nvim is as I see in mostly maintanance and bugfixes mode with little to no enhancements made.
That's why I believe that it would be beneficial to everyone if those plugins that forked merged again under a name that represents new goals and gave us best of both worlds.

Couldn't agree more with @jaredmontoya  teamwork is key in this space

Dear @jaredmontoya - out of respect to the project maintainer, I believe it's a good practice to suggest ideas and alternatives and leave it at that.  This project is wonderful for what is does, and perhaps the maintainer is satisfied with the name and scope of the current implementation, perhaps he is too busy to engage in discussion at the moment.  There will be many GPT plugins, some focused on single inference provider, some will have pluggable backends, etc.  Maybe you could publish a directory like "Awesome Nvim GPT Plugins", or start a new project, or make PR's to an existing project.  Your ideas are good!

I understand. I don't expect the maintainer to just do the work because I said so or change the direction of the project because I said so. What I am saying here is not a demand but a suggestion that can easily be declined and I won't have a problem with that even if it is not something that I would like to happen.
I felt like an example of a project going through rebranding while having more stars was relevant because it might influence the decision that perhaps will be made here in the future by cancelling out the argument that 3k stars is too much for a rebranding.
What a lot of people would like to hear though, is if expanding the scope of the project will even be considered at all.
If expanding the project's scope will be declined, ChatGPT.nvim can stay as it is now, no problem. But the earlier it is clarified the better. Contributing to ogpt.nvim seems like a good option for now as creating another project will introduce more fragmentation.

Is it within scope to limit it to OpenAI API Compatible providers? Inference endpoints from places like Perplexity and TogetherAI offer this. I think all we need to do is not have models hardcoded in places and instead allow for host and model to be configurable and have that config propagate.

Is it within scope to limit it to OpenAI API Compatible providers? Inference endpoints from places like Perplexity and TogetherAI offer this. I think all we need to do is not have models hardcoded in places and instead allow for host and model to be configurable and have that config propagate.

I support this. I think that adding support for API's that are not compliant with OpenAI API will breed more non-compliant API's because their developers will see that they can get away with not using a format that is already widely accepted for no reason and anyone who wants to use those API's will need to implement support from scratch.

Ollama recently added openai compatibility. https://ollama.com/blog/openai-compatibility
I gave it a quick test, setting $OPENAI_API_HOST to localhost:11434. No luck. Not sure what changes are required to make this work.

try this:
  {
  "jackMort/ChatGPT.nvim",
    event = "VeryLazy",
    config = function()
      require("chatgpt").setup({
        api_host_cmd = "echo http://localhost:11434",
        api_key_cmd = "echo ''",
        openai_params = {
          model = "codellama:13b",
          frequency_penalty = 0,
          presence_penalty = 0,
          max_tokens = 300,
          temperature = 0,
          top_p = 1,
          n = 1,
        },
        openai_edit_params = {
          model = "codellama:13b",
          frequency_penalty = 0,
          presence_penalty = 0,
          temperature = 0,
          top_p = 1,
          n = 1,
        },
      })
    end,
    dependencies = {
      "MunifTanjim/nui.nvim",
      "nvim-lua/plenary.nvim",
      "folke/trouble.nvim",
      "nvim-telescope/telescope.nvim"
    }
  }

There is an issue whern using this method for **edit with instruction"

Ollama recently added openai compatibility. https://ollama.com/blog/openai-compatibility
I gave it a quick test, setting $OPENAI_API_HOST to localhost:11434. No luck. Not sure what changes are required to make this work.

try this:
  {
  "jackMort/ChatGPT.nvim",
    event = "VeryLazy",
    config = function()
      require("chatgpt").setup({
        api_host_cmd = "echo http://localhost:11434",
        api_key_cmd = "echo ''",
        openai_params = {
          model = "codellama:13b",
          frequency_penalty = 0,
          presence_penalty = 0,
          max_tokens = 300,
          temperature = 0,
          top_p = 1,
          n = 1,
        },
        openai_edit_params = {
          model = "codellama:13b",
          frequency_penalty = 0,
          presence_penalty = 0,
          temperature = 0,
          top_p = 1,
          n = 1,
        },
      })
    end,
    dependencies = {
      "MunifTanjim/nui.nvim",
      "nvim-lua/plenary.nvim",
      "folke/trouble.nvim",
      "nvim-telescope/telescope.nvim"
    }
  }

There is an issue whern using this method for edit with instruction and add test as it's using GPT.3.5 as a model and not llama3. is it possible to set the API endpoint globaly ?

If you see something like here that is a hard coded model name then you can't change it unless you make a personal fork of the plugin or implement it's configuration and your pull request gets merged.
the add_tests task as well as any other task is defined here and I think there is a way to use a custom actions.json file but I don't remember how to and not all people will use some model x so every user who wants to use something other than default has to create a replacement for this file but with the default model replaced to what they want to use.
I am not sure about this one, edit with instructions model is defined in my config under openai_edit_params and if you changed it to the one you want to use for it to still not work then I don't know what's wrong.

I got this to work with Ollama. Make sure you have the latest version:
https://ollama.com/blog/openai-compatibility
require("chatgpt").setup({
            api_host_cmd = 'echo http://<IP_ADDRESS>:11434',
            openai_params = {
                    model = "mistral",
                    frequency_penalty = 0,
                    presence_penalty = 0,
                    max_tokens = 4095,
                    temperature = 0.2,
                    top_p = 0.1,
                    n = 1,
            }
    })

I got this to work with Ollama. Make sure you have the latest version:
https://ollama.com/blog/openai-compatibility
require("chatgpt").setup({
            api_host_cmd = 'echo http://<IP_ADDRESS>:11434',
            openai_params = {
                    model = "mistral",
                    frequency_penalty = 0,
                    presence_penalty = 0,
                    max_tokens = 4095,
                    temperature = 0.2,
                    top_p = 0.1,
                    n = 1,
            }
    })

This worked for me as well.
But I also had to add api_key_cmd = "echo ollama" to the setup. This will also get rid of the warning.

I got this to work with Ollama. Make sure you have the latest version:
https://ollama.com/blog/openai-compatibility
require("chatgpt").setup({
            api_host_cmd = 'echo http://<IP_ADDRESS>:11434',
            openai_params = {
                    model = "mistral",
                    frequency_penalty = 0,
                    presence_penalty = 0,
                    max_tokens = 4095,
                    temperature = 0.2,
                    top_p = 0.1,
                    n = 1,
            }
    })

This works with the ChatGPT command for chat, but ChatGPTRun has gpt-3.5-turbo seemingly hard-coded. I get the following error:
API ERROR: model 'gpt-3.5-turbo' not found,

@h4ckm1n-dev you can pass in  edit pram through setup as well:
openai_edit_params = {
     model = "<your model name>",
     frequency_penalty = 0,
     presence_penalty = 0,
     temperature = 0,
     top_p = 1,
     n = 1,
   },

This work for my openai compatible  chat and "edit with instructions" but does not work with  "add_test" or other options. seems like the endpoint "/completions" is deprecated by openai and not included in the compatible server @andyl

ChatGPT.nvim seems to have stopped updating, so I had to write a plugin to support ollama, and since I really like the appearance of ChatGPT.nvim, I tried to keep it consistent with it.
Perhaps it will be useful to you: https://github.com/Kurama622/llm.nvim


ENDOC-79 EKS edits

@joewhite101 , this is a work in progress. My IAM steps were pretty different to get things working so we may need to discuss. I'm waiting for my domain to propagate but everything after step 10 looks like standard Entando at that point.

This is deployed to https://es-entando.github.io/next/tutorials/devops/installation/elastic-kubernetes-service/eks-install.html


[Feature] Remove  inappropriate dependency  from  elasticsearch-7.x-plugin

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
First , every  plugin  should  be  independent  . Right  ?
elasticsearch-7.x-plugin depend  on  elasticsearch-6.x-plugin , it reference  some constant  , config class  from 6.x .
So,   we should  remove  the dependency  .  I want  to  copy these  constant , config class from 6.x  rather  than  create  a common  module , Because the code is little  .
https://github.com/apache/skywalking-java/blob/92665b8add7020f26f67519a6e6c7fef49e42643/apm-sniffer/apm-sdk-plugin/elasticsearch-7.x-plugin/pom.xml#L45
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Ideally, yes, we shoud keep them independent, unless they share some commons package.

Are you going to submit this soon? I plan to release 8.12.0 recently.

no problem , tonight at the latest


Orchestrator Recognizer - LU FILE IS EMPTY

On a fresh bot, I switch to the Orchestrator Recognizer and see:

The workaround is to create a new "Intent Recognized" trigger before switching the dropdown to 'Orchestrator'.
Given how many people brought this up at bugbash, we should consider perhaps leveraging the diagnostics work now to show a warning instead of using a popup to prevent user from submitting an empty LU file.

Why would an empty LU file be a warning? I'd expect that you can have a recognizer selected with either no .lu or empty .lu's and it shouldn't break.

Why would an empty LU file be a warning? I'd expect that you can have a recognizer selected with either no .lu or empty .lu's and it shouldn't break, or warn.

yes, that should not a warning, i was talking to Leilei on Friday this, haven't get time with Tai to confirm why the limitation is there at the beginning. Will do soon.


Udemy 401 error:"Oops, something went wrong."

It seems they did blocking robots interring more than 20 videos.
At first I could only download 20 videos of 50. Then I got a 401 error.
And even from the site can not login.
It seems they recognized that my account is trying to connect too many times and not from the site login blocked it.
it's happened to you too?
This output:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Users\maor>C:\Users\maor\Desktop\YouTube_Downloader\VDownload.bat
C:\Users\maor>C:\Users\maor\Desktop\YouTube_Downloader\WF\youtube-dl.exe -U --au
tonumber-size 2 -o  "C:\Users\maor\Desktop\YouTube_Downloader\Videos%(playlist)
s%(playlist_index)s_%(title)s.%(ext)s"  --username ******** --password
****** --write-sub --write-auto-sub --sub-lang iw,en --format best  "https:/
/www.udemy.com/web-design-secrets/?dtcode=WMORiSs3cw7n" --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-U', u'--autonumber-size', u'2', u'-o', u'C:\User
s\maor\Desktop\YouTube_Downloader\Videos\%(playlist)s\%(playlist_index)s_%
(title)s.%(ext)s', u'--username', u'PRIVATE', u'--password', u'PRIVATE', u'--wri
te-sub', u'--write-auto-sub', u'--sub-lang', u'iw,en', u'--format', u'best', u'h
ttps://www.udemy.com/web-design-secrets/?dtcode=WMORiSs3cw7n', u'--verbose']
[debug] Encodings: locale cp1255, fs mbcs, out cp862, pref cp1255
[debug] youtube-dl version 2015.06.25
[debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-34549-g13b7781
[debug] Proxy map: {}
youtube-dl is up-to-date (2015.06.25)
[udemy:course] Downloading login popup
[udemy:course] Logging in as *************
ERROR: Udemy returned error #401: Error on Input - Oops, something went wrong.
Traceback (most recent call last):
File "youtube_dl\YoutubeDL.pyo", line 654, in extract_info
File "youtube_dl\extractor\common.pyo", line 272, in extract
File "youtube_dl\extractor\common.pyo", line 266, in initialize
File "youtube_dl\extractor\udemy.pyo", line 67, in _real_initialize
File "youtube_dl\extractor\udemy.pyo", line 97, in _login
File "youtube_dl\extractor\udemy.pyo", line 63, in _download_json
File "youtube_dl\extractor\udemy.pyo", line 43, in _handle_error
ExtractorError: Udemy returned error #401: Error on Input - Oops, something went
wrong.

If you can't login from the website there is nothing youtube-dl can do (since it uses the same method). For me it works as usual, just downloaded the whole course you provided two times without any issue.

than'x.


Static Image Assets not picking up @2x and @3x images

Hello!
Is there anything I have to do to get the @2x, @3x images to start working? I have an image component that is using this as the source require('../img/logo.png') and in my img folder I have logo.png<EMAIL_ADDRESS>and<EMAIL_ADDRESS>but it isn't getting the larger images. Is there a step I"m missing here?
And just to clarify they're currently just in my js/img folder, not in xcode or android studio.
Thanks

Fixed the issue on my end.

@tonyrzhang is it expected to automatically work then?

@tonyrzhang What was the solution for you?

@tonyrzhang  , what was the solution?


The system cannot copy to different disk

Why?

workaround:
before running anirip. create a temporary folder on the same disk where you want the show to be:
and type in the command prompt (or add to your script)
set TMP=
that will make anirip to use that folder as temporary for the process and avoid the issue copying into a different disk.
You will see files coming in and out in a subfolder anirip on that location during the process.

Hey, I tried doing the set TMP thing but doesn't seem to work. Currently has it as SET TMP="F:\anirip-v1.5" and I still get a error :/

try:
set TEMP=F:\anirip-v1.5
set TMP=F:\anirip-v1.5
I have both.. not sure which one is right, I set them both to the same location. and so far it work for me like that.

You could also CD into the disk you'd like it to be saved to.


Homebridge doesn't see my "Mini Smart Socket" with LED light, but Smartlife and Google do ... ???

This is a cross-post from Reddit, r/homebridge.  And this is probably operator error again, but I would appreciate any help here nonetheless: I bought a rather neat little smart wifi socket that has a ring of RGB LED's around the socket. What's particularly neat is that the LED ring essentially operates as a separate light -- in other words, Smartlife, and Google, see this item as two "separate" things to control: a smart switch, and also a light with controllable colors. Again, I can use the Smartlife app and/or Google to turn the light on/off, dim or brighten it, and change colors. Works great! And I can have these apps turn the switch on or off, no problem. But Homebridge (running TuyaWebPlatform) doesn't see this switch/light combo at all. I tried resetting the device and re-registering it with Smartlife, but that makes no difference. Ideas and suggestions much appreciated.

Hey,
We'll see what we can do about that.
Could you please follow the steps outlined in the readme under "How to check whether the API this library uses can control your device?".
If only the socket is listed there - there is no "nice" way to do it.
You could however always add 2 scenes to Tuya. 1 scene that turns on the light and another that turns off the light. You could then expose these scenes to HomeKit (once again read the readme on how to do this).
If the light is also listed (next to the socket) then there is a problem with the plugin and I'll be happy to fix it 😄

I do not think the API controls this pesky device: While the Smartlife app shows six devices, with the device in question, "RGB Smart Plug", at the top, when I run your script at https://repl.it/ , the results seem (as best I can read it) to just show the last five :
(Now, I guess I will try adding the scenes to Tuya, as you suggest.)
Got devices
{   'header': {'code': 'SUCCESS', 'payloadVersion': 1},
'payload': {   'devices': [   {   'data': {   'brightness': '123',
'color_mode': 'colour',
'online': True,
'state': 'true'},
'dev_type': 'light',
'ha_type': 'light',
'icon': 'https://images.tuyaus.com/smart/program_category_icon/dj.png',
'id': '77226320d8bfc0d1988a',
'name': 'AirLux Bulb'},
{   'data': {'online': True, 'state': True},
'dev_type': 'switch',
'ha_type': 'switch',
'icon': 'https://images.tuyaus.com/smart/icon/1493798894_0.png',
'id': '04200091b4e62d13a123',
'name': 'Stained glass window'},
{   'data': {'online': True, 'state': True},
'dev_type': 'switch',
'ha_type': 'switch',
'icon': 'https://images.tuyaus.com/smart/icon/1493798894_0.png',
'id': '04200091b4e62d139d6d',
'name': 'TV Room'},
{   'data': {'online': True, 'state': True},
'dev_type': 'switch',
'ha_type': 'switch',
'icon': 'https://images.tuyaus.com/smart/icon/1493798894_0.png',
'id': '0520001668c63abf350d',
'name': 'floor lamp'},
{   'data': {'online': True, 'state': True},
'dev_type': 'switch',
'ha_type': 'switch',
'icon': 'https://images.tuyaus.com/smart/icon/1493798894_0.png',
'id': '042000916001947f766d',
'name': 'Hallway light'}],
'scenes': []}}

I added four scenes to Smart Life: one to turn the switch on, one to turn the switch off; one to turn the LED light on, one to turn the LED off. Homebridge shows each of these scenes as an accessory. So does HomeKit now: I combined the two switch scenes into a Group for the switch, and combined the two LED light scenes into another group for the light.  Now I can turn the light on and off independently of the switch, but I cannot control its color or brightness from HomeKit. So, does this development mean that the plug-in can be tweaked in some way to perhaps more correctly control the switch and LED light combination?

No sorry, since the light is not showing up in the list, there is nothing I can do.
If you would like to finely control the status of the led you will either need to create more scenes; one for every state you want the led to be changeable to.
Or, arguably the better option, switch to @iRayanKhan 's amazing plugin homebridge-tuya. That one would probably support your specific device better.


RequestAdapter documentation is outdated.

Hi. I just find, that https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#adapting-and-retrying-requests for request adapter is outdated since it use completion.
Also i want to know what is happening with request if sending to completion .failure?

Our inline API documentation is fully up to date and available online, and for the RequestAdapter specifically.
Returning a .failure result for a RequestAdapter fails the Request with the associated Error value and is handled like any other error, including being available in the various response handlers.

Sorry, maybe i didn't express my self well. I mean the example is for old version of Alamofire:

Right, that documentation will be updated once we finalize Alamofire 5 and are ready to release (and get time to do it), as it needs to be extensively rewritten.


Make chianti_kev_lines module more Pythonic

Break out relevant functionality into io and utils modules.
Replace variables names with more descriptive ones.
Create a chianti_kev_lines class that reads all the relevant data on initialisation and whose methods return the results rather than store them in the class.  This way the methods can be used over and over again, but the file reading only needs to occur once.

Fixed by #18


fix: use --compress-level=0 for macOS

https://github.com/ericaltendorf/plotman/issues/380

Closing in favor of the properly located https://github.com/ericaltendorf/plotman/pull/384.


Get the chart instance

I try to get the Chart instance to be able to use the getElementAtEvent() method. I have this :
onClick: (event, chartElements) => {
        this.handleChartClick(event, chartElements);
      }

And I want to access my Chart instance in my handleChartClickmethod, how can I do that ? The final purpose is to listen on click in axis labels and get their value.

I have exactly the same problem, would be great to have access to the Chart instance.

If you EmberChart.extend you can then this.get('chart') -- or am I misunderstanding the problem?

Let's say I have a component with this template
{{ember-chart type='horizontalBar' data=barData options=chartOptions width=200 height=200}}
Now in my component.js I want to access the instance of the chart I created in my template, how I would do that ?
Same question apply if I have multiple charts in my template like that
{{ember-chart type='horizontalBar' data=barData options=chartOptions width=200 height=200}}```

How I can access each instance ?

Hoping I'm clear enough...

I assume you want the instance of the chart to react to some kind of event. You can extend this component.
// file: your-app/components/ember-chart.js

import EmberChart from 'ember-cli-chart/components/ember-chart';

export default EmberChart.extend({
  doubleClick() {
    alert("DoubleClickableComponent was clicked!");
   // this.get('chart') should give you the Chartjs instance.
  }
});

See ember component event handlers here: https://guides.emberjs.com/v2.14.0/components/handling-events/#toc_event-names
@Hugo-Contreras does this help?

I was trying to handle an event on the Chart y-axis, so I did something like that (which is a bit ugly but working for now):
@readOnly
@computed('data')
  chartOptions () {
    const componentContext = this;
    return {
      maintainAspectRatio: false,
      onClick: function (event) {
        componentContext.handleChartClick(event, this);
      }
  }

And in my component I have this method to handle the click:
handleChartClick (event, chartInstance) {
    const helpers = Chart.helpers;
    const eventPosition = helpers.getRelativePosition(event, chartInstance.chart);
    const clickY = chartInstance.chart.scales['y-axis-0'].getValueForPixel(eventPosition.y);
    const rangeValues = this.get('data.barLabels')[clickY].split('-').map((value) => {
      return parseInt(value.trim(), 10);
    });

Thank's for your answer ! Might help at some point.

Would be great to have access to the chart instance without extending the component. This seems to be fairly straightforward in the unwrapped library.
My need arises not from event handling, but from using callbacks. I'm creating a custom tick callback for timezone handling. I must reference the displayFormats settings in my callback, ergo I need access to the xAxes object as a whole so I can reference the previously defined property.
For now, I am using the hack above (thanks, Hugo!) but would be cool to have something baked in that's a little less messy.

Thanks @hy0ug0 I have used something similar in my component that has an <EmberChart /> where the calling template has an @onclick={{action "chartClicked"}} argument.
constructor() {
  const self = this;

  const chartOptions = {
      onClick(e, context) {
        self.handleClickEvent(e, context, self, this);
      }
  };
}

handleClickEvent(e, context, self, chartInstance) {
  self = self || this;

  if ( chartInstance ) {
    const activePoints = chartInstance.getElementAtEvent(e);
    if ( activePoints.length > 0 ) {
      const chartElement = activePoints[0];
      const node = chartInstance.config.data.datasets[chartElement._datasetIndex].data[chartElement._index];

      self.args.onclick(node);
    }
  }
}

I was able to have acces to the instance through another ugly hack
`<EmberChart
@type="line"
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
`

It works even though it definitely is not clean


Support for creating multiple views to handle html and turbo_stream responses

It would be awesome if the Create View shortcut could also have a second option for create.turbo_stream.erb. I know I can change the default extension but I have both turbo_stream.erb and html.erb views and this is going to become more common in Rails 7+.

Would be handy for older projects that use a mix of erb and jbuilder as well


1.100 release notes STO-7784

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://667edf8ff102c1402fc52b91--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://667eed11dd2cea21bf8604c3--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://667efbf8caa5b75dcdf0dcc0--harness-developer.netlify.app


False positive for px-conf.perimeterx.net and client.perimeterx.net

Hello,
A few of the domains used by PerimeterX are flagged for blocking in your list, for example px-conf.perimeterx.net and client.perimeterx.net but also others. These domains are used by PerimeterX, a cyber security and anti-fraud company, to protect thousands of sites and applications from various cyber attacks.
PerimeterX is fully compliant with privacy regulations all over the world (GDPR, CCPA, etc. ). We do not sell user information or use it in any way other than to decide if if the user is a threat to the site.
By not being able to access these domains certain apps and sites, your users (and ours) will have negative experience and might not be able to use sites and apps as a result.
Would highly appreciate if you can remove these domains from the list.

For reference and updates see: https://github.com/AdAway/adaway.github.io/issues/251

Hi Omri @omriiluz thank you for this.  We carry perimeterx.net domains from a variety of sources — it's not just one source list, it's in many source lists.
It's hard to reconcile what you claim, with what appears to be a broad consensus about perimeterx.net.
That said I'm sure we'll get to the bottom of it.  This is your hill to climb, however.  We're not in the business of deplatforming companies, just their noxious vectors.

Thanks for the feedback Steven. I understand that the burden of proof is on us and I'm willing to provide more information or even jump on a call to show you our platform. We have nothing to do with ads - we do not buy, sell, target, personalize or do anything that can even be remotely related ads.
We profile the user in real time to understand if it's a bot or human - think reCaptcha but better - and we do not use this information for anything beyond the real time profiling. You can see our commitment in our privacy policy and the compliance certifications we have - https://www.perimeterx.com/resources/compliance/

@StevenBlack the main block is coming from the upstream feed referenced above, and they just removed our entries. would it be possible to pull the adawy upstream?

@omriiluz I'll create a release now.  Please standby.

Omri @omriiluz this is now live and online in release 3.7.4.
Thanks everybody!
Closing.


fix(background): keep service worker alive

Context

Closes https://github.com/interledger/web-monetization-extension/issues/416
Changes proposed in this pull request

Extension builds preview

Name
Link

Latest commit
f56b3cb66eefa4e53fe4718f12b42b97e58686d0

Latest job logs
Run #10246415589

DownloadDownload


Console API rework

This still has the names OffscreenConsole and RootConsole. I'm kind of partial to these, since you can import them nicely from the console module and still know what they do.
If the naming is fine as it is, then this closes #137

I'd prefer Offscreen and Root names in the console module. If someone wants the imported names to be more explicit, they can always say use tcod::console::Root as RootConsole.
And we can do that re-export in lib.rs, too. What do you think?
Otherwise, this looks great. For the record, making Console::con unsafe makes sense and I actually like that it's public -- people can use it to call the low-level FFI stuff if the want (which is inherently unsafe, too).

Yes, I like the public Console::con as well, but it would've been more elegant if I could've implemented it using the AsNative traits. But it's not really feasible if we want to keep the current blit semantics (which are more important than the unsafe Console::con).


Replace local tunnel with automated google function deployment (only fo CI)

Situation
Local tunnel is used to exposes the localhost to internet for testing purposes as API extension trigger url expects a valid URL to trigger.
Currently it's used on the integration and e2e tests, and creating a tunnel before the tests started. See: https://github.com/commercetools/commercetools-adyen-integration/blob/master/extension/test/integration/integration-test-set-up.js#L65-L80
Complication
Local tunnel is working well for development purposes (e.g debugging) but does not simulate the reality of the integration. As extension is running on a local node server, but it should be running either in a container or in a serverless function such as google functions. Also we faced some issues with localtunnel on tests that is being flaky (resolved but might cause another issue on the future)
Resolution
Replace local tunnel such as using google function function URL as an API extension trigger url on test fixtures.

Review notes:

First challange was doing automated deployment to GCP, it's resolved with gcloud sdk (see: ci.yaml changes)
Second challange was not removing resources before and after the tests to make the test scenarios more realistic.
Local tunnel is useful for development (debugging purpose) so it's the default hook if the CI env variable is not set ( github actions sets this variable to true so CI flow uses GCP functions on test fixtures)

How long does it take now to run the build?

6-7 min, a comment from the other PR description, which contains both changes (extension + notification):

Overall CI build time is increased around 4 minutes because of GCP function deployment, now we have around 6-7 minutes on build.


Fix parsing symfiles that contain empty lines

While investigating #740 I figured out the issue was that the parser errors out on empty
lines in symfiles. This is fixed in this PR.
Note that there might be a nicer way to solve this, but I do not have much experience with Nom,
so any hints how to improve this are welcome.

Updated to use multispace0 instead of actually parsing the empty line and transforming it into an no-op result.


Post patch evaluation

I've been playing around with selective re-evaluation, it's a complex can of worms so it won't go into 1.0, but basically was toying with the idea of doing a diff of an AST of the active source and the locally changed source and evaluating lines that are new prototype assignments.
So aimed at the end user, if such a feature was to land in the future, what parts of a script would you expect to be re-evaluated? module exports, prototype changes, etc.

I think it's super tricky to get this right. “Reevaluate all” works fine for functional langs where you keep the state separately, but it's much harder in JS. “Reevaluate nothing” is not practical enough (hence this issue). Between “all” and “nothing” lies “module” in my opinion—that's exactly what Webpack's Hot Module Replacement provides. I can't see how more (or less) granularity would help.

As it stands right now, it's fairly easy to reason about. You cannot edit the past, the past being code that has already been executed, you can edit the future, the future being code that has yet to execute, and through the read-eval-print-loop you can edit the present which would be the present state of the environment.
Originally, I never intended for hot patching to be able to edit anything more than the future, I've always touted no side effects since the birth of the project. Now there's still a need to edit the present state, My plan for that has been direct user interaction through the read-eval-print-loop, and down the line I want to roll out editor integrations for evaluation selection in the correct scope etc.
As a side note, you can achieve something to the same effect of what @jlongster was demonstrating a while back with his __eval hook using the patch event, which is a hack way of re-evaluating things.
window.addEventListener('patch', function() {
    module.exports.bar = function() {
      console.log('bar');
    };
});

As for hot module replacements, you still have to decide if its correct to accept and evaluate the changes right? So the problem remains except there's an abstraction in-place for the problem?
I'm not confident this can be done with a reasonable heuristic, the option then would be do to decorators or some similar user input, opting in to re-evaluation.

Basic proof of concept

Moving this past 1.1, it's just too big.

The above example is just evaluating things defined in the global scope, while its cool, common module patterns need to be handled also.

For example starting with closures created by immediately executing functions
(function () {
  var value = 0;
  setInterval(function() {
    console.log(value);
  }, 1000);
}());

Now it's fairly non-trivial to get at the value in that closure, it's not impossible but it gets convoluted.
One approach I've been thinking of is to set a breakpoint in the in the next function call within that closure(in the above example, the setInterval callback), upon hitting the breakpoint we can get a backtrace with call frames and figure out what the runtime identifier of that anonymous closure is.
Then the relevant changes can be evaluated within the appropriate scope, and execution will resume after that.
Lets take another example, this is where it becomes complex. We have an object with exports defined within a closure.
var lib = (function() {
  var exports = { };
  exports.print = function() {
  };

  return exports;
}());

setInterval(function() {
  lib.print();
});

Still doable, but now the complexity is creeping, to the point where its semi mind boggling.

So instead of doing that, we can hit two birds with one stone by doing instrumentation. I've always wanted to be able to step into arbitrary scopes in the repl, now previously I've stated strongly that amok should not instrument your code, but this is only a minor augmentation wink wink.
So instrumenting with a callback in each scope, this becomes fairly trivial because we are in the scope in question.
var object = (function() {
  __scope(function(source) {
    eval(source);
  });

  var binding = {};
  binding.value = 0;

  return binding;
}());

And regarding the two birds in one stone, It wouldn't be that hard to add something like a .scope command to the repl
$ .scope filename.js:10

Scrap that, that's a dead end since eval can't create local variables in the parent target scope.
Moving further rambling about scopes to a new issue.

Dealing with this at the bundler/loader level, might be worth revisiting a native module implementation but for now native es6 modules do not exist.


fragment type

at ferry 0.4.x, i use fragment to Unified type,
query User{
  user{
   ...userFragment
  }
}

query UserList{
  user{
   ...userFragment
  }
}

this will got $userFragmentand and  List<$userFragment>
in ferry 0.9.1, fragment expand , got GUser_user and GUserList_user
now,use build_value.formjson  and build_value.tojson  to translate user type
can directly generate same type?

Sorry, I don't understand the question

sorry ,sir,
I lost my brain.
actually, after ferry run build, i got
abstract class GmissionFields {} // the fragment

abstract class GmissionFieldsData
    implements
        Built<GmissionFieldsData, GmissionFieldsDataBuilder>,
        GmissionFields {}

abstract class GgetCitizenMissionData_mission
    implements
        Built<GgetCitizenMissionData_mission,
            GgetCitizenMissionData_missionBuilder>,
        _i2.GmissionFields {}

abstract class GgetHeroMissionData_mission
    implements
        Built<GgetHeroMissionData_mission, GgetHeroMissionData_missionBuilder>,
        _i2.GmissionFields {}

abstract class GMyMissionData_mission
    implements
        Built<GMyMissionData_mission, GMyMissionData_missionBuilder>,
        _i2.GmissionFields {}

i try to do
function widget(GmissionFieldsData:mission){}

widget(GgetCitizenMissionData_mission())

widget(GgetHeroMissionData_mission())

widget(GMyMissionData_mission())

change to that
function widget(GmissionFields:mission){}

And then new questions:
GmissionFields just has getter,can not set value

This is a traditional dart mistake
i do this by myself


dependency - update to react 18

Related to https://github.com/tinacms/tinacms/issues/4630
Updating TinaCMS to React 18 (since it's a blocker for using the tanstack router)

@jeffsee55 can you review this PR please - I want all the eyes on it 👀


made clean through flake8 with 120-char lines

ignoring module import errors due to six magic.
also fixed some syntax errors in transcript_parser.py.

I introduced at least 1 syntax error in transcript_parser.py with my last PR. Sorry about that. This one fixes it, as well as makes the codebase mostly-clean under flake8.


chore(deps): update dependency @types/lingui__macro to v2.7.3

This PR contains the following updates:

Package
Type
Update
Change

@types/lingui__macro
devDependencies
patch
2.7.2 -> 2.7.3

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.

:tada: This PR is included in version 2.126.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Jumps to start of slider

When I try to slide the button it jumps to the start of the slider and only moves back to the position I slid it to when I release the mouse (in Simulator, iOS 9.1). I'm using version 0.4.0 of this element. Have you seen this issue before?

I think it's because this:
onValueChange={(amount) => this.setState({amount: amount})}
Causes React to re-render the UI

This works:
                        <Slider
                            value={this.state.amount}
                            minimumValue={5}
                            maximumValue={100}
                            onValueChange={(amount) => this.setState({amount: amount})}
                            onSlidingComplete={(amount) => this.setState({amount: amount})}
                            thumbStyle={Styles.sheet.sliderThumb}
                            minimumTrackTintColor={Styles.colors.offBlackLightest}
                            maximumTrackTintColor={Styles.colors.offBlackLightest} />

This could be fixed by making the value parameter mandatory if onValueChange or onSlidingComplete are provided with a function (especially if that function calls setState)

+1 on this issue

Thanks for reporting this @lewisbarber, I've just published 0.6.0 on NPM with a fix to this.


Add baseline benchmark workflow

This commit adds the benchmark_baseline.yml workflow, this workflow runs once every 20 days. It runs the benchmark performance test and uploads the artifacts, which will then be compared in the
benchmark_regression_test.yml workflow in order to reduce the issue of recency bias in our benchmark comparisons
Issue #, if available:
Description of changes:

Adds benchmark_baseline.yml

Testing performed:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Updated the commit message to reflect the change in the logic of running this once every month on the 20th.
The logic for running it every 20 days involves running the workflow everyday and checking if it's the 20th day, which in my opinion is not necessary here as the aim is to have a sufficiently old benchmark result and running it once a month will fit the purpose reasonably well.


move build artifacts out of scripts folder

https://github.com/Microsoft/SparkCLR/tree/master/scripts folder was originally meant for scripts that will be included in the release (like sparkclr-sumibt). If we want to stick to that original scope, we need to move build-related scripts like addotherplugins.ps1 out of it.

we can create a new "build" top-level directory and move build-related scripts there.

With the recent addition of Linux scripts, I think it will be better to add two build folders for Windows and Linux each soon.

addotherplugins.ps1 has been removed by PR #197.  But there is still script "zipdir.ps1" remaining in this folder.

Fixed with https://github.com/Microsoft/SparkCLR/pull/224


The game will crash when attempting to catch a Pokémon.

Running Node v8.1.0 and the game will freeze when I jump into the bag while attempting to catch a Pokémon. Happens in both Hyper and Terminal on macOS v10.12.5.

What do you mean it will freeze? Can you describe a little bit more what happens and when?

The game will freeze and no key presses will register. This only affects the window/tab that is running the game, all other windows and tabs are still operational.


Validator does not validate correctly if object has multiple Array fields

If I have the following rdl:
type DomainTemplate Struct {
Array templateNames;
Array params (optional);
}
When validating this object against its schema, it only validates the templateNames array and just ignores params array. Quick look at the code shows that it returns the value of the first array validation rather than only returning if there is a failure and continuing with the other fields.

Release as part of 1.4.14


Sync eng/common directory with azure-sdk-tools for PR 1515

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1515  See eng/common workflow

/check-enforcer evaluate


Unable to create the PR and branch in repo

Release version
v4.10.0
Describe the bug
We are using Azure DevOps and the extractor pipeline is currently functioning ok, producing the required artifacts, however, it's facing an issue when trying to create the PR and temp branch within the repository. We've reviewed the documentation and referred to the article below as per docs, but unfortunately, the issue persists.
We've also confirmed that the build service has the necessary permissions to create branches and pull requests in the repository, but this hasn't resolved the problem.
https://learn.microsoft.com/en-us/azure/devops/pipelines/policies/set-permissions?toc=%2Fazure%2Fdevops%2Forganizations%2Fsecurity%2Ftoc.json&bc=%2Fazure%2Fdevops%2Forganizations%2Fsecurity%2Fbreadcrumb%2Ftoc.json&view=azure-devops
Not sure if there are any alternative documents we should refer to make it work, especially in the event that the links to Microsoft's documentation have changed.
Images for reference:

For build service permissions on repo:

Expected behavior
The pipeline should be able to create the PR and branch in the repository.
Actual behavior
The pipeline runs successfully but the PR and the temporary branch is not getting created in the repository.
These are debug logs from the Create pull request action
##[debug]Write-Information "Clone URL is $cloneUrl"
##[debug]git -c http.extraheader="AUTHORIZATION: Bearer ***" clone --branch "$branchName" --depth 1 "$cloneUrl" "$temporaryFolderPath"
##[debug]if ($LASTEXITCODE -ne 0) { throw "Cloning branch $branchName in repository $repositoryName failed." }
##[debug]
##[debug]Write-Information "Creating temporary branch $temporaryBranchName from $branchName..."
##[debug]git -C "$temporaryFolderPath" checkout -b "$temporaryBranchName" "$branchName"
##[debug]if ($LASTEXITCODE -ne 0) { throw "Creating temporary branch $temporaryBranchName from $branchName failed." }
##[debug]
Reproduction Steps
NA

Did you check the closed issues? I remember others having similar issue with their own devops environment.

It also seems that there are no error messages generated, and all tasks are marked as successfully completed, which includes the creation of a pull request. However, when we check the repository, there is no evidence of a new branch being created, and there is no active pull request visible.

and it ends with


Add support for pytest-xdist for much faster Textual tests.

Attention grabbing bit
On my PC, which has 16 (real) cores.
Time to run the Textual suite of 2107 tests.
Without pytest-xdist:               2 mins, 59 seconds.
Using pytest-xdist with 8 workers:          22 seconds
Using pytest-xdist with 16 workers:         13 seconds

Details
The following changes have been made.

Store each test's snapshot in a separate file to avoid multiple
processes trying to write to a single 'ambr' file. Each snapshot is
now a plain SVG file.

Store test run snapshot results in a temporary directory, one per
test. The main process loads these when the test run has completed.

A slightly non-related change. The actual SVG is modified to make the
styles unique with respect to those in the previous SVG, before being
added to the HTML failure report.
When a snapshot comparison fails it is possible for the two SVGs can have
different style sets. These are merged when the HTML file is rendered which
can give rise to misleading differences in colour, bold, etc.

In order to make use of pytest-xdist for the Textual tests you must:

Use the --dist=loadgroup option when executing pytest.

Add pytest-xdist group decorators to the slug tests.
@pytest.mark.xdist_group(name="group1")
def test_simple_slug(text: str, expected: str) -> None:

...

@pytest.mark.xdist_group(name="group2")
def test_tracked_slugs(tracker: TrackedSlugs, text: str, expected: str) -> None:
```

The slug tests depend on execution order and state that changes for each test.
So each parameterized set of tests must run within the same pytest-xdist worker
process.

Please hold of merging this for now.
I have identified an improvement that I wish to add.

Updates made. Once again ready for review and potential merging.

@paul-ollis Sorry for the slow response on this. Going to have a chat with @darrenburns shortly. We're very excited about faster snapshots!

@willmcgugan No worries. I have not actively made use of this for some months, but seem to recall that when I was, I may have found some tweaks/corner cases that cropped up during heavy use. I will revisit the project in question and get back to you with any possibly useful updates or a definitive 'no changes required'.
I hope you find it as useful as me.


Could not start language server command 'zls.start' not found

When I try to start the language server from vscode I get an error that says:
Command 'Zig Language Server: Start Zig Language Server' resulted in an error (command 'zls.start' not found)

What version are you using?

Can confirm this is an issue on extension versions past 1.0.1

can confirm happening in 1.0.4

can confirm happening in 1.0.4

Also with 0.1.8

Occurs when the server exits before registering commands (e.g. the provided zls executable path is invalid); fix on its way


Patch the package manifests prior to adding them in the package ecosystem?

Is your feature request related to a problem? Please describe.
I have a similar issue as described in https://github.com/glasskube/glasskube/issues/306#issuecomment-1976360853:
I am trying to open cyclops via glasskube open which is not working because cyclops v0.3.1 (and prior versions) sets its service type to LoadBalancer so that cyclops already runs on port 3000 on localhost.
See:
$ glasskube serve
glasskube UI is available at http://localhost:8580
could not open cyclops: could not open entrypoint ui: tcp port 3000 is not free

$ kubectl get -n cyclops svc
NAME           TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
cyclops-ctrl   LoadBalancer   <IP_ADDRESS>   localhost     8080:30599/TCP   3h
cyclops-ui     LoadBalancer   <IP_ADDRESS>   localhost     3000:31474/TCP   3h

$ glasskube open cyclops
❌ Could not open package cyclops: could not open entrypoint ui: tcp port 3000 is not free

Describe the solution you'd like
How about patching the package manifests with some sane defaults before adding them to the glasskube packages?
TBH I believe the package should not be exposed to some port per default as I want to put it on another port or serve it under some domain maybe.
Describe alternatives you've considered
I just tried a poc editing the cyclops manifests, but the changes were obviously reset after a short time 😄
Test run:
$ kubectl -n cyclops edit services cyclops-ui

$ glasskube open cyclops
ui	 |I| Forwarding from <IP_ADDRESS>:3000 -> 80
ui	 |I| Forwarding from [::1]:3000 -> 80
✅ cyclops is now reachable at http://localhost:3000
ui	 |I| Handling connection for 3000
^C👋 Received interrupt signal
🛑 Terminating forwarders...

$ glasskube open cyclops
❌ Could not open package cyclops: could not open entrypoint ui: tcp port 3000 is not free

Additional context
See error in UI:

Versions:
$ glasskube version
glasskube: v0.1.0
package-operator: v0.1.0

PS: This probably does not happen to cyclops only but other packages too. Could be considered a install.yaml design issue??

Hi @jawys, thank you for raising this issue! I think this problem might be specific to your setup, I think mapping LoadBalancer services to local ports is kind of unusual. Can you tell us a little bit more about your setup? Are you running Kubernetes locally, mapping local ports to LoadBalancer services? Or do you use a separate program for this mapping?
Do you know if the same issue happens for other service types as well? For example, argo-cd uses the default service type (ClusterIP).
I can see several ways to solve this issue:

Change the localPort of the Cyclops endpoint to something different
Change the service type to ClusterIP for the Cyclops service
Add the possibility to specify a different local port via a CLI flag
Add retrying a different port on failure (we already do this for the serve command, so we could probably reuse some of that code).

hey @kosmoz

Can you tell us a little bit more about your setup? Are you running Kubernetes locally, mapping local ports to LoadBalancer services? Or do you use a separate program for this mapping?

I use kubernetes via Docker Desktop version 4.26.1 (131620) where this seems to be the normal behaviour, no?

Do you know if the same issue happens for other service types as well? For example, argo-cd uses the default service type (ClusterIP).

Argo runs fine. This is where I started comparing setups after having this cyclops issues.

2. Change the service type to ClusterIP for the Cyclops service

I did change it via kubectl edit as shown in the initial description. It gets reconciled and redeployed through glasskube/flux I think?

Thanks for the info!

I did change it via kubectl edit as shown in the initial description. It gets reconciled and redeployed through glasskube/flux I think?

Yes, this is correct. Glasskube is designed in a way that ensures that the actual resources are always reconciled with the desired state from the manifest/helm chart. This change would have to be done on the package itself. Alternatively we could expose the service type as a configuration value (which will be supported in our upcoming release), so users can change it themselves.
Regardless, I think adding a --port flag for the open command makes a lot of sense. I created https://github.com/glasskube/glasskube/issues/523 to track this feature.

Thanks @kosmoz I will wait until the release and check it out.
Also thanks for getting in touch with cyclops 😉


compilation fails (ubuntu 14.04 / gcc 4.8.4)

I'm attempting to update Electrumx for the Ravencoin x16rv2 fork but having some trouble with the Python module
Although it compiles/installs fine on my Debian system, it is failing to build in the Travis CI test environment used by Electrumx
https://travis-ci.org/kyuupichan/electrumx/jobs/587495803
    x16rv2.c:125:13: error: ‘for’ loop initial declarations are only allowed in C99 mode
                 for (int j = 24; j < 64; ++j) ((uint8_t*)hash)[j] = 0; // Pad the 24 bytes to bring it to 64 bytes
                 ^
    x16rv2.c:125:13: note: use option -std=c99 or -std=gnu99 to compile your code

It seems that older versions of gcc require the -std=c99 flag to enable C99 support
but might be better (more compatible) just to move those variable declarations outside the loop

Thank you, I updated the code with this change.


Adding hydrogens causes S-Group label positions far away from their original position expecially for aromatic bonds (Ketcher part)

Steps to Reproduce

Load from file: All types of bond - Either topology - Unmarked - S-Group - Data - Bond.zip (unzip first)
Press Add/Remove explicit hydrogens button

Actual behavior

Expected behavior

Ketcher version [e.g. v2.4.2].

Indigo Toolkit Version 1.18.0-dev.4.0-g085ab345f-x86_64-linux-gnu-11.2.1
Ketcher Version 2.17.0-rc.2 Build at 2024-01-03; 17:17:22
Chrome Version 120.0.6099.225 (Official Build) (64-bit)
Win10
Issue found while testing https://github.com/epam/Indigo/issues/1436

This is ketcher part. Indigo part: https://github.com/epam/Indigo/issues/1638

Indigo is guilty.
Should not add zero coordinates if it haven't got anything

Problem in both in Ketcher and Indigo - Ketcher never sends coordinates
At the same time - Indigo set default 0,0 then is shouldn't

Moved to Refined Backlog since no fix over 4 versions


Grab browser version as a super property automatically

Helps isolate browser version specific behavior / issues.

+1 browser versions would be useful for me in deciding which browsers to support (eg. we need compatibility for ie 9 and 10 but not 8 because no one on our site uses it anymore).

+1 This seems trivial to collect - this should be in there

+1

+1

Hi all, we do plan on supporting this at some point; if you want to expedite the process, the best way is to open a pull request!

@tdumitrescu One pull request ready and waiting for review. Hope it helps! :)

Added in v2.5.1 (thanks @D1plo1d)

@tdumitrescu Cheers!


Make PBFT log size multiplier configurable

Today, the PBFT log size is fixed at L=2*K as prescribed in the paper.
However, the choice of 2 is arbitrary, as the log size L is used as parameter and no special properties about it (other than its size being at least 2*K is relied upon.
For certain deployments, especially high volume high latency ones, the default log multiplier of 2 may be insufficient.  As seen in issue #687, we are observing behavior where replicas in a normally functioning pbft network are occasionally receiving sequence numbers outside of the watermarks, increasing the log size L could help improve the operation of such networks.
Therefore, we should introduce a configuration variable, maybe logMultiplier, which will default to 2.
@kchristidis Can you tag as appropriate and possibly assign to me?

@kchristidis @tuand27613 if @tuand27613 wants this one, it's fine by me

merged pull request #694


Could you add the option to collapse XAML Regions?

I downloaded this extension hoping It would work for XAML since I do alot of WPF work. I did some testing and It seems it does not. I was wondering if you could add support for XAML also?

You can find more information about the XAML region syntax here: https://stackoverflow.com/questions/2888347/region-in-xaml

@FutureTD @ygoe @AppyxDaniel new version is out https://marketplace.visualstudio.com/items?itemName=VladH.CollapseRegionExtension
@Vert-by, thanks for the PR


Simple.Odata Client V3 throws Exception after upgrading from VS 2017 to VS 2019

Hello Vagif,
I am working on a fairly large legacy Android / iOS App with PCL-based shared libraries and Simple.Odata Client V3 4.2.9. I'm having problems updating from Visual Studio 2017 to Visual Studio 2019:
Everything works fine when compiling the Solution with VS 2017 15.9.3, but when I try compiling the same source code in debug mode with VS 2019 16.3.10, Simple.Odata.Client starts throwing an exception when reading data from the server side.
The following exception is thrown:
Microsoft.Data.OData.ODataContentTypeException: 'A supported MIME type could not be found that matches the content type of the response. None of the supported type(s) 'application/atom+xml;type=entry, application/atom+xml, application/json;odata=verbose, application/json' matches the content type 'application/xml; charset=utf-8'.'
Other than the exception thrown by Simple.Odata.Client, the app still runs fine. Also, the iOS build still works fine after updating Visual Studio.
I'm not sure how to proceed from here. I have considered upgrading from Simple.Odata Client V3 4.2.9 to the latest version, but that would quite a bit effort since all of my shared libraries are using PCL and are not compatible NetStandard. I will do it eventually, but would prefer not to do it now if possible.
Do you have any idea how proceed?
Thanks,
Adrian

Version 4.x is quite old and no longer maintained. You should consider upgrading to version 5 of the library.


Color changes only in while(true)

I am trying to change the color of one Key on my Razer BlackWidow Chroma. Its a console application. I use .NET 4.7.2 and build for x64. This is my code:
using System;
using System.Threading.Tasks;

using Corale.Colore.Core;
using Corale.Colore.Razer.Keyboard;
using Corale.Colore.Razer.Keyboard.Effects;

namespace MicVisual
{
    class Program
    {
        static void Main(string[] args)
        {
            Chroma.Instance.Initialize();
            Console.WriteLine(Chroma.SdkAvailable);
            Console.WriteLine(Chroma.Instance.Initialized);
            Chroma.Instance.Keyboard.SetKey(Key.Backspace, Color.Red);
            Console.ReadKey();
        }
    }
}

When I run the Program I cant see any changes on the keyboard. when it closes, all LED's turn off and on again. the console output is:
true
true
For some reason it works if i place the SetKey in a while(true) loop. But it still needs a few seconds until it changes. Also every other LED is turned off in this scenario.

Is there any difference if you put a delay between setting the color and the call to ReadKey?
Like:
Chroma.Instance.Keyboard.SetKey(Key.Backspace, Color.Red);
System.Threading.Thread.Sleep(5000);
Console.ReadKey();

No there is not. Also a while true after SetKey has no impact.

Hm, what about a delay before the call to SetKey? I'm wondering if there is a small delay between the init call and the SDK actually being ready.

Very nice! That did help. Its about 1 Second you need to wait. 750ms was not enough 1000ms seems to do the trick.


Update smallweb.txt

Add three feeds:

https://rosnovsky.us/feed/feed.xml
https://nicolesandler.com/laffys-blog/feed
https://web3isgoinggreat.com/feed.xml

second blog feed is empty and third is not really a small web site

and first is his own one

Apologies, let me double check Laffy's correct feed URL, this one appears to no longer work :( She's pretty awesome, I promise!
As for Molly White's web3isgoinggreat... It's a personal project where she posts these ~snarky~ pointy news and comments about web3. Is the issue that it's fairly popular or that it's not a personal blog?

@vprelovac Fixed Laffy's feed URL. It's still probably not a good fit since it's a show, and the only text information in the feed is show notes. I removed "Web3 is Going Great" and added two other feeds, hopefully, they better fit the definition of "small web". My apologies again for the broken/wrong links.
@avipars yes, that one is my own blog; I think it's allowed to submit your own feed if you also submit at least two new blogs 🤔
In any case, if you don't find these blogs worth including, feel free to close this PR.

Podcast show notes a probably not a good fit. rest is ok.

Do you want to adjust the PR?

My apologies, @vprelovac, for some reason I was under the impression that I've adjusted it already 🤦🏻
✅ Done!


Incorporate a graphic or logo

It'd be great, for when applicable in the application, a logo can be used for branding.

Hi @adamlaz , do you mean the themer logo being used inside the application as part of the UI?


Unset key "M-s" for tagedit to avoid conflicting with Emacs default bindings

Hello:
I found that sanityinc/swiper-at-point (M-s /) can't be used when writing HTML...
Thanks.

Great, thanks.


Provide spinner for sometimes-exception methods.

We (in a dcos-commons test) currently are spinning on wait_for(docs.http.request, ...), but this is wrong because if we get an empty response json document ("" or "{}"), it will wait forever since those values are false.  This is causing a test failure currently.
The most common success/fail interface in python is "if you didn't get an exception, it's a success".  This is fairly heavily applied in the dcos-cli code in dcos.http where all non-200 http responses will result in an exception.  Therefore it's pretty reasonable to just accept any response value without an exception as the desired result.

@sschneid : i need to imlement, more or less
wait_while_exception(lambda : dcos.http.request.('delete', '.../apps/appname'))

This is not really a test, but more of a retry-this-a-few times.
Maybe that's gross, but it's hard for me to estimate whether the current consumers of wait_for(dcos.http.request ...) are using it as a retry-in-case-of-network-failure, or retry-until-complete.


[BUG] Get-PnPAzureADGroup failes to work in 2.10.0

Reporting an Issue or Missing Feature
I have a PowerShell script that connects using an App Registration and certificate. This has all of the necessary permissions to do what we need, including Group.ReadWrite.All. With PnP 2.9.0, the following command worked OK:
$group = Get-PnPAzureADGroup -Identity $groupName
Now with 2.10.0 it generates an error:

AADSTS1002012: The provided value for scope Group.ReadWrite.All is not valid. Client credential flows must have a scope value with /.default suffixed to the resource identifier (application ID URI). Trace ID: 8637ab1f-43a4-4fd3-8aaf-5f94464f1000 Correlation ID: 707471ca-0ed5-4e60-b215-039778c72a69 Timestamp: 2024-08-30 08:09:13Z.

At the time I am also using Graph 2.22.0, and PowerShell 7.4.5.
Expected behavior
It used to get the group and then allow us to retrieve its members using:
$members = Get-PnPAzureADGroupMember -Identity $group.Id
Actual behavior
Code now fails with the above error.
Steps to reproduce behavior
Not feasible to include all code, but the bits that do the work are (Terminate is my own function for exiting cleanly out of the code, not important here):
write-host 'nConnecting to $siteURL...' -ForegroundColor white
Connect-PnPOnline -Url $siteURL -Tenant "$tenant.onmicrosoft.com" -ClientId $PnPClientId -CertificatePath $PnPCertificatePath
$group = Get-PnPAzureADGroup -Identity $groupName`
What is the version of the Cmdlet module you are running?
2.10.0
Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

Thanks for reporting this, have fixed this. It will be available in tomorrow's nightly builds as well as the next major version.

Awesome, thank you for the update, much appreciated.


Revert "Grenade Explosion method" (broken build)

Reverts MDCHAMP/FreeLunch#20 (step 1/5)

Codecov Report

Merging #31 (47da478) into main (0068a96) will decrease coverage by 0.27%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
- Coverage   98.80%   98.53%   -0.28%
==========================================
  Files          17       17
  Lines        1170     1090      -80
==========================================
- Hits         1156     1074      -82
- Misses         14       16       +2

Impacted Files
Coverage Δ

src/freelunch/tech.py
100.00% <ø> (+1.58%)
:arrow_up:

src/freelunch/zoo.py
98.76% <ø> (-0.10%)
:arrow_down:

tests/test_darwin.py
100.00% <ø> (ø)

src/freelunch/adaptable.py
95.45% <100.00%> (-2.33%)
:arrow_down:

src/freelunch/optimisers.py
98.86% <100.00%> (-0.13%)
:arrow_down:

tests/test_adaptable.py
100.00% <100.00%> (ø)

tests/test_benchmarking.py
71.42% <100.00%> (ø)

tests/test_optimisers.py
100.00% <100.00%> (ø)

tests/test_tech.py
100.00% <100.00%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


break-time: 0.1.1 -> 0.1.2

Description of changes
Update to latest upstream release 0.1.2.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Hey, thanks for sending this.
Do you use break-time?  I was under the impression that people mostly don't use it (and I had actually forgot that I submitted to Nixpkgs...)

Also, I can make sure to make more frequent releases of break-time to crates.io if there are other people actually using it.

I don't actually use it myself. i just stumbled across it in nixpkgs and saw that it was outdated, so i gave it a quick version bump.


App is connected but "connect" wallet screen is shown

Describe the bug
After successfully connecting, the app is connected but "connect" wallet screen is shown
To Reproduce
I can't reliably reproduce this. It has happened to me twice today. It also happened to @llbartekll when testing.
Steps to reproduce the behavior:
(delete the PWA app if you have it already)

Go to https://app.web3inbox.com/ on iOS
Add to homepage
Connect with MM
Go back to the dapp
The connect wallet screen is shown.
Clicking it will show the connected modal view

Expected behavior
The user progresses with the sign in flow
Screenshots
https://github.com/WalletConnect/web3inbox/assets/116099/028bebd8-3f32-4a76-8ca8-298142e94671
Smartphone (please complete the following information):

OS: iOS
Browser: Safari

Bumping this to P0.
It has happened several times for me. Today it happened in Chrome desktop.

@Kirby-WalletConnect also reported this


lib/reaper: Add support for disconnected hosts

Rancher 1.3 (possibly 1.2 as well) marks the hosts as disconnected after a while,
which means they weren't being picked up by rancher-reaper.

Thanks for the PR, I've released this as v0.3.0.


Generate service runner implementations

Changes:

Make service execution classes implement ServiceRunner interface
Add execution class references to ServiceRunner provider-configuration file (META-INF/services/...) so that they can be loaded using ServiceLoader

Build will fail till https://github.com/finos/legend-engine/pull/356 is released

Once the legend-engine version is updated to include a release with https://github.com/finos/legend-engine/pull/356, this can be approved and merged (assuming, of course, all tests pass).


Could this work with a TP Link power switch?

I think it would be an even better feature if it could turn the printer on just before each print, because now I have to leave the printer idle.
Thanks for your time, it already is such a good feature thanks :)

It can with my TPLink plugin. Check out the wiki here.

@jneilliii I recommend you link to the Helpful System Commands wiki page from the wiki Home Page. I went looking for this info on the wiki but the wiki looked blank; I didn't see the tree on the right. I found the info here in this closed Issue but only because I was trying to find the info myself and not bother you with an FAQ, but ironically now here I am bothering you.

I can see how it may not be very visible with it auto-collapsed on the right. I've added a line to the main wiki page, thanks for the suggestion.


Update MD file on new branch 2017-11-09_14-28-50

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/content1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


randomly unable to load links from serp

I'm having an issue using GoogleScraper to repeatedly pull images off google. I'm calling scrape_with_config() with the attached config several times within the same script. It fails about 25% of the time I try to access the results from a search. It seems as if the sqlalchemy dblite connection dies. I've experienced this issue with both the pip and latest versions of the code.
code/error:

search=GoogleScraper.scrape_with_config(config)
for serp in search.serps:
    for link in serp.links:

...

File "scrape.py", line 61, in <module>
    for link in serp.links:

...

(orm_util.state_str(state), self.key)
sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <SearchEngineResultsPage at 0x7fc98973bcf8> is not bound to a Session; lazy load operation of attribute 'links' cannot proceed

config:
            config = {
                'SCRAPING': {
                    'keyword': keyword,
                    'search_engines':'google'
                    'num_pages_for_keyword':10,
                    'search_type': 'image',
                    'scrape_method': 'selenium',
                },
                'SELENIUM': {
                    'sel_browser':'Firefox',
                },
                'GLOBAL': {
                    'do_caching': 'False'
                }
            }

I am also experiencing this issue.
It happened once (same error message) then I removed .scrapecache and google_scraper.db and the issue went away.

It seams this issue may actually be caused when the search tries to page beyond the last search results.


Running on Windows

I was wondering if there has been any success running Conjure on Windows.  I am running on Windows 10 enterprise in the PowerShell.  When I run ConjureAdd nothing appears to happen.  There are no buffers created etc.   When I exit nvim, there is a message in the shell saying: "Conjure exited, restarting".
Unfortunately, it doesn't seem to create the log file.  When I run an echo $CONJURE_LOG_PATH, it is correctly pointing to where i set that environment variable in the shell.  There is also nothing in :messages
Please don't waste too much time on this if you can't spare it.  I know the unknowns with Windows could be too much of a hassle.  Just wondering if you have any quick thoughts or ideas.
Thanks Scott

Sorry I didn't get back to you before you closed it! I think it should work
fine, just might need some path adjustments? I'm using / everywhere and
tmp. Other than that there's nothing Unix specific!
On Sat, 27 Apr 2019, 22:28 scotts777<EMAIL_ADDRESS>wrote:

Closed #29 https://github.com/Olical/conjure/issues/29.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Olical/conjure/issues/29#event-2304934449, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACM6XPM56RQRFLBAYXHGI3PSTAQHANCNFSM4HI4LLUQ
.

Going to leave this open because I think it's entirely possible but just need someone to help out with testing it etc :smiley:

I should be able to test stuff out later this week!

No rush! And I fully expect it to fail it'd just be nice to know how badly :sweat_smile: I think the temp log buffer path will need to be updated but I'm not really sure what else. I think /tmp/conjure.cljc is the only thing that's really unixy, the rest is pretty generic.

Closing this for now since I've had no other feedback about Windows. Assuming it's working until it's most definitely not. Would love to hear if the new develop branch works on Windows!


Bring in main's FileWriter into experimental

Rebased off of #3815
Part of #3817
I opted not to make file writing a subprocess, and instead use --write-to-movie. This means that we should encourage users not to use --preview and --write-to-movie at the same time, as it causes a performance penalty.

TODO: figure out how to get rendering with other formats working.


libreoffice: add withExtensions support

Description of changes
Fixes https://github.com/NixOS/nixpkgs/issues/235416
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Should this install jre_minimal as well?

I think that we can look at how other plugin systems were implemented in nixpkgs like vim for example.
As a short summary:
It maintains some kind of list of the minimal information needed to generate a plugin and uses that to auto-generate nix expressions for the derivations. If a plugin requires extra dependencies to run, these are expressed it an override.nix. This allows for easy updating and maintenance.
The question is rather: Do all plugin downloads need to be sourced from https://archive.org and is there some way we can index them.


Create pirate version of README.md

 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.:x: philltran sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for taking the time to contribute this localization pull request. However, we are not able to accept contributions to this historical reference repository at this time.


Regex filter for filenames

It would be cool if we could optionally filter for certain filenames in the folder.
e.g. we have 100 images in the folder, too many. But we'd like images starting with "IMG23" to be shown. That narrows it down to maybe 10 that we really want to display.
This way we don't have to create multiple smaller folders, with potentially duplicated images, in order to deploy image galleries that display different (overlapping) subsets.

I also need this feature. A pull-request (#15 ) seems fit our need


Chat GPT 4 unresponsive

Chat GPT-4 can't respond. It just sits and thinks.
Chat GPT 3.5 has no problems.

Debug Data

Property
Value

Name
"Wolfram/Chatbook"

Version
"1.1.1"

EvaluationEnvironment
"Session"

FrontEndVersion
"Cloud: <IP_ADDRESS> (July 28, 2023)"

KernelVersion
"13.3.0 for Linux x86 (64-bit) (June 3, 2023)"

SystemID
"Linux-x86-64"

Notebooks
True

DynamicEvaluation
False

SynchronousEvaluation
True

TaskEvaluation
False

Settings

Property
Value

Stack Data
throwFailure
trimURL

Failure Data
<|
  "Evaluation" :> Wolfram`Chatbook`Actions`StopChat[CellObject["f990662f-0d9b-417e-9f80-8f6493ca6803", "5d4188a79a09418396634963dc94bf77"]]
  "Failure" -> Failure["ConfirmationFailed", <|"Information" :> "Container", "MessageTemplate" -> "``[``] did not return True.", "MessageParameters" :> {AssociationQ, Wolfram`Chatbook`Actions`Private`container$74685}, "ConfirmationType" -> "ConfirmBy", "Expression" :> Wolfram`Chatbook`Actions`Private`container$74685, "Function" :> AssociationQ|>]
  "Arguments" -> {}
|>

@ionsme do you still have this issue? If not, it's likely that GPT-4 might have just been temporarily unavailable.

Interesting. Looks like there's no option for GPT-4 anymore. Just GPT-3.5
Therefore, it is no longer broken, just non-existent.
[image: image.png]
On Thu, Jan 4, 2024 at 2:56 PM Rick Hennigan @.***>
wrote:

@ionsme https://github.com/ionsme do you still have this issue? If not,
it's likely that GPT-4 might have just been temporarily unavailable.
—
Reply to this email directly, view it on GitHub
https://github.com/WolframResearch/Chatbook/issues/322#issuecomment-1877679768,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOVCC2ZRTRXX36UL2ECHCKTYM4CNZAVCNFSM6AAAAAA3NK6ACKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZXGY3TSNZWHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add morph helper to Request

This PR adds a new morph request helper.
Usage
$contactable = request()->morph('contactable');

\\ $contactable is now an instance of the given morph.

The morph helper looks if {$key}_id and {$key}_type exists in the request and tries to instanciate a model instance with the given data.
If the fields aren't present or the model was not found it returns null.
Why do I think this is usefull?
Lately I had to deal a lot with morph models in an REST-API and I had to go the hard way like this:
$id = request()->input('contactable_id');
$type = request()->input('contactable_type');

$contactable = null;
$class = Relation::getMorphedModel($type);
if ($class) {
  $contactable = $class::find($this->input($id))
}

This has to be done in multiple controllers so I extracted it and then I thought, maybe others have the same requirements so lets create a PR :)

I suggest you macro this into your own project.


consider forwards compatibility

I realise you're still pre-1.0, but it is probably worth considering the forwards compatibility story early. A reason that macros are moving to tokens/strings rather than AST is for the stability of procedural macros. This requires that libraries such as Syn have a forwards compatibility policy.
The idea is that when we add a feature to Rust which changes the syntax, you need to add this to Syn, and to handle such code downstream proc macros must upgrade to the new version. But, the important thing is that if downstream macros do not want to handle the new feature, they can upgrade Syn without breaking.
E.g., say we add unions (well, we already have, but imagine we hadn't), then where previously an Item enum had Struct and Enum variants, now it needs Union too. That would be a breaking change, since exhaustive matches are no longer exhaustive.
Exactly how you handle forwards compatibility is an open question. You could combine unenforced policy that clients have to abide be with some degree of coding techniques, or you could use solely code (but that might not be possible with some other design decisions).
One example might be that clients should not pattern match structs, Syn avoids struct variants, and every enum has an Unknown variant which clients should not match.

A reason that macros are moving to tokens/strings rather than AST is for the stability of procedural macros. This requires that libraries such as Syn have a forwards compatibility policy.

I don't think that follows. Procedural macros don't declare a dependency on a specific compiler version, but they do declare a dependency on a specific Syn version and Cargo is good at managing those. By choosing a version they choose a snapshot of the Rust syntax to support. This is no different from using Syntex which was sort of the plan for how Macros 1.1 would be used, specifically mentioned in the RFC.
The biggest benefit over Syntex after compile time is that I expect Syn to be easier to maintain by a factor of 10x to 50x. This is from the person who has been maintaining Syntex for the past several months. The current release is out of date by 2 weeks just because the merge conflict is so bad. I do not foresee that happening with Syn because every syntax change will be just a few minutes to implement. That means, in contrast to Syntex, procedural macros will be able to support new syntax almost immediately rather than waiting for potentially weeks.
I agree there is something around pattern matching that could be done in a better way. I will keep thinking about that. Thanks for flagging this!

First of all, s/forwards/backwards, sorry about the confusion there.
You are right that Cargo can manage the dependency issues without intervention, and we avoid most of the back-compat nightmare that is current macros simply by not depending on the compiler version.
I guess what I'm talking about is steps you can take to make having to bump a major version number less likely. I.e., it would be nice if adding say struct field defaults only meant going from v3.2 to 3.3 rather than 4.0.

I don't have a good answer to this. We will bump a major version when syntax changes require it, as infrequently as reasonable, and count on Cargo to sort out dependencies on syn.


add simple PingCentral

pingcentral.zip
In the attached zip this is examples for two ways PingCentral can be deployed:

With H2 (internal db) - uncomment the OPTION 1 on values.yaml and install
With External mysql:

kubectl apply -f sample-mysql.yaml
kubectl create secret generic pingcentral-jwk --from-file=pingcentral.jwk=pingcentral.jwk
uncomment OPTION 2
helm install rel pingidentity/ping-devops -f values.yaml

Closing this due to being added in dev branch for 0.8.4 release


WhatsApp: Safari - MacOS session from inside a Linux machine

Describe the bug
While checking active WhatsApp sessions from WhatsApp Android mobile app, the only active session shown was a Safari - MacOS session, while Franz was running on a Linux machine.
To Reproduce
Issue happened only once, logging in to WhatsApp service and looking for active sessions on the mobile.
Expected behavior
WhatsApp Web connected devices list should provide only a Linux x86_64 device, using Chrome browser.
Screenshots
Not applicable.
Desktop:
OS: Fedora 29 Linux x86_64.
Additional context:
Franz-5.0.0-beta.18 - AppImage version (franz-5.0.0-beta.18-x86_64.AppImage).

Technically it's not a bug 👼
While debugging the WhatsApp issue (Chrome 36+ is required), we've tested if changing the user agent from chrome to e.g. safari does make a difference. While it initially looked like it did solve the issue, we now know it didn't.
The WhatsApp mobile app just displays whatever the user agent was when the QR code was scanned.

Thanks :)


IOS Development Question

I have seen some posts online about creating a p12 certificate using open ssl on a windows machine, but I was wondering can you complete the whole process of developing and pushing to the apple app store from a windows machine or do you absolutely need a mac for certain steps ?

Yes, you can complete the whole process of developing and pushing to the apple app store from a windows or linux machine. You don't need a Mac.

My comment above only applies to our (free) build service (on tabrisjs.com).
If you wan to build your app on your local machine, not in the cloud, you'll need a Mac with Xcode.