[Bug] custom model name does not work any more in the latest build version

Describe the bug
custom model name does not work any more in the latest build version ,with console log showing "Model xxx not found in DEFAULT_MODELS array"
To Reproduce
Steps to reproduce the behavior:

Go to 'setting page'
config API url and some custom model name list with "," mark
Go to chat page
select one custom model name
5 send some question in the chat page
Expected behavior
I think i should get the response message from the custom model  rather than no response with console eror message showing "Model xxx not found in DEFAULT_MODELS array"

I think the bug is introduced by such commit , which lost consideration the custom models  configed in user setting page, with only search the DEFAULT_MODELS  const value.
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/commit/a5517a1a51de81f9527f2e734d8412f6f4f8962c#diff-87cc040dd1bc561fde5c60b722355d5151ff86b7f70c325dfe403885603ea233R98
Screenshots
If applicable, add screenshots to help explain your problem.

Deployment

[ ] Docker
[ ] Vercel
[ ] Server

Desktop (please complete the following information):

OS: [e.g. windows]
Browser [chrome,]
Version  121.0.6167.140]

At present, custom models for other AI providers are not available, particularly those to which we do not have access (as contributor,devs). It's worth reconsidering how contributors, or any developers for that matter, can address bugs or make improvements to models they cannot access.

feel free to sponsoring this project as professionalism for example giving they access such as contributor,devs then can easily fix,improve or whatever it is

i use a service named one-api https://github.com/songquanpeng/one-api to convert some 3rd model provider api into openai compatible api, so the qwen model from aliyun dashscope can privide openai format stream response which is accepted by chatgpt next web application.
so I think the issue is not about 3rd AI provider, it is related with that the modelname validation in client side shoud take the custom model list of setting page into consideration rather than only the pre-config DEFAULT_MODELS array.  because the custom model name works in eariler version before you add the DEFAULT_MODELS  check.

i use a service named one-api https://github.com/songquanpeng/one-api to convert some 3rd model provider api into openai compatible api, so the qwen model from aliyun dashscope can privide openai format stream response which is accepted by chatgpt next web application. so I think the issue is not about 3rd AI provider, it is related with that the modelname validation in client side shoud take the custom model list of setting page into consideration rather than only the pre-config DEFAULT_MODELS array. because the custom model name works in eariler version before you add the DEFAULT_MODELS check.

that's not actually ai provider so still
At present, custom models for other AI providers are not available, particularly those to which we do not have access (as contributor,devs). It's worth reconsidering how contributors, or any developers for that matter, can address bugs or make improvements to models they cannot access.

sorry to bother you again.
so，how do you think the goal or purpose of such "custom models" configuration in setting page?  did i use this by wrong understanding?  i think we can use "OpenAI Endpoint " and "Custom Models" the two configuration to support some unkown new model which is compatible with openai api client, so chatgpt-next-web can only focus on openai format.

sorry to bother you again. so，how do you think the goal or purpose of such "custom models" configuration in setting page? did i use this by wrong understanding? i think we can use "OpenAI Endpoint " and "Custom Models" the two configuration to support some unkown new model which is compatible with openai api client, so chatgpt-next-web can only focus on openai format.

well, still I don't have access to the other ai so what can I do, anyway why should I fix it without testing or anything else when I don't have access lmao

alternative fix it just disable this inject system prompt since its only for default models such as openai, google ai

Instead of throwing an error, it should not include a knowledge cutoff date if the date is not explicitly provided.

explicitly

explicitly better

I believe a more effective implementation would be to have an option to select a default mask for new chats. This selection could be presented in the settings as 'Start chats with a default mask [ ].' Initially, a default ChatGPT mask might be selected, but users should have the capability to change this.

I believe a more effective implementation would be to have an option to select a default mask for new chats. This selection could be presented in the settings as 'Start chats with a default mask [ ].' Initially, a default ChatGPT mask might be selected, but users should have the capability to change this.

so Start chats with a default mask [ ]. for example is can be customize by users instead of default chatgpt mask ?

i feel Algorithm5838 and  H0llyW00dzZ  you are talking about something about mask ,rather than my posted issue.

@H0llyW00dzZ Yes.
Currently, initiating a new chat requires either a default system message, a ChatGPT mask, or no system message. Although you can create masks, you must select your preferred one each time.
A proposed solution is to allow users to set a default mask for starting chats, which would be the revised setting Start chats with a default mask [ ].. Users could select their preferred mask from the masks settings, which could include Bard, ChatGPT, or any of their creations like DictionaryGPT. This would prevent the raised issue, as users would write the system message for the default mask themselves.

@lizhe2004 It might appear so, but I'm recommending a different implementation for the code that gave rise to this issue. I'm currently using one-api, but I haven't updated my NextChat fork. If I did, I would likely encounter this same problem.

@H0llyW00dzZ Yes.
Currently, initiating a new chat requires either a default system message, a ChatGPT mask, or no system message. Although you can create masks, you must select your preferred one each time.
A proposed solution is to allow users to set a default mask for starting chats, which would be the revised setting Start chats with a default mask [ ].. Users could select their preferred mask from the masks settings, which could include Bard, ChatGPT, or any of their creations like DictionaryGPT. This would prevent the raised issue, as users would write the system message for the default mask themselves.

@lizhe2004 It might appear so, but I'm recommending a different implementation for the code that gave rise to this issue. I'm currently using one-api, but I haven't updated my NextChat fork. If I did, I would likely encounter this same problem.

It easy to implement it just like writing a slices byte in go

v2.10.1 can use one-api ,after update to v2.10.2, it doesn't work

v2.10.1 can use one-api ,after update to v2.10.2, it doesn't work

Please create an individual issue for your question

@lizhe2004 could you try the work around in this PR(Preview link)? For the time being, the default system content is set to make OpenAI by default, and the it will be considered to maintain relevant information when registering custom models at server side in the future
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/pull/4010

@lizhe2004 could you try the work around in this PR(Preview link)? For the time being, the default system content is set to make OpenAI by default, and the it will be considered to maintain relevant information when registering custom models at server side in the future
#4010

hi，fred-bf  ，your demo (Preview link) works for custom model name.  great.

alternative fix it just disable this inject system prompt since its only for default models such as openai, google ai要解决这个问题，只需禁用此注入系统提示，因为它只适用于默认模型，如 openai 和 google ai。

It doesn't work.  I disable this inject system prompt, but I still can't get the reply when I try to use non OpenAI and Google model. I use v2.10.1 version.


[Feature Request] Salesforce Integration

Hi there,
I would like to track the conversion rate of my memes, could you please allow me to use Salesforce with this bot?

Unfortunately, due to the legal repercussions of GDPR we won't be able to support this feature.


Memory Leak or Heap Size Increase in app.powerbi.com: report Embed ultimately resulting in blank page

Issue
We are experiencing a continuous increase in heap size when embedding Power BI reports using the PowerBIEmbed component from the powerbi-client-react library. The issue is particularly noticeable in the heap size of   app.powerbi.com:reportEmbed, where memory usage grows over time, leading to blank page.
Steps to Reproduce:

Embed a Power BI report using the PowerBIEmbed component and reload the report every 1 minute using reload api.
Observe the heap size in the browser's developer tools (Memory). Record the data for around 3 hours.
Notice that the heap size continues to increase without releasing memory.

Expected Behavior:
The memory usage should stabilize after the report is fully loaded and rendered. It should not continuously increase, indicating a potential memory leak.
Actual Behavior:
Memory usage in app.powerbi.com:reportEmbed increases over time, causing a continuous growth in heap size and ultimately resulting in blank page.
Environment:
powerbi-client-react version: 1.3.5
React version: 18.2.0
Browser: Chrome
Additional Context:
I have implemented cleanup functions for event handlers and the embedded report, but the issue persists. This problem may originate from the client library or how it interacts with the Power BI service.
Code for embedding, reload, and refresh:
<PowerBIEmbed       embedConfig={reportConfig}       eventHandlers={eventHandlersMap}       cssClassName={"report-style-class"}       getEmbeddedComponent={(embedObject: Embed) => {         reportRef.current = embedObject;       }}     />
useEffect(() => {
  if (reloadMinutes > 0) {
    const reloadInterval = setInterval(() => {
      if (reportRef.current) reportRef.current.reload();
    }, reloadMinutes * 60 * 1000);

    return () => clearInterval(reloadInterval);
  }
}, [reloadMinutes]);

// Refresh the report
useEffect(() => {
  if (refreshMinutes > 0) {
    const refreshInterval = setInterval(() => {
      if (reportRef.current) reportRef.current.refresh();
    }, refreshMinutes * 60 * 1000);

    return () => clearInterval(refreshInterval);
  }
}, [refreshMinutes]);

Thank you for reporting this issue. We will reproduce it in our environment and will update you on our findings within the next few weeks.

We monitored the heap size by taking heap snapshots after each refresh and recorded memory allocation for over 3 hours. We didn’t observe any significant increase in memory usage, and the report displayed correctly without blank screens.
Could you share more details on what happens after the blank screen appears, such as any errors or browser behavior?

Thanks for taking a look at the issue.
Okay, so I have changed the "refresh" in issue with "reload".
I've observed that when using the "reload" API, the memory size increases much more significantly compared to using the "refresh" API. While the increase during a refresh isn't as large, over time—even with small increments—it adds up significantly, especially after 4-5 days of continuous usage.
I suggest combining the "reload" and "refresh" APIs for testing. For example, refresh every 20 seconds and reload every 30 seconds, and then monitor the heap size over a 3-hour period. You will likely see a significant increase in memory usage during this time.
Here’s the suggested testing setup:
Set the reload interval to 30 seconds.
Set the refresh interval to 20 seconds.
Use a report that is complex and contains many components.
Browser Behavior: Our clients use reports that are rendered in the browser via this app, and they run continuously for 3-4 days. What we’ve noticed is that after running for multiple days, the browser becomes unresponsive. Below is a screenshot showing this behavior.

Thank you for your detailed report regarding the memory leak issue. We appreciate your engagement and support.
We acknowledge the importance of addressing this issue. However, we don't have a specific timeline (ETA) to share at this moment.
Your patience and understanding are greatly appreciated. If you have any further questions or need assistance, please feel free to reach out via the proper channels as explained here.


About Us Ui Improved

Description 📝
Improved the About Us page Ui and made the page responsive too.
Fixes/Closes: <issue/link>
#358
Changes 💬

Changed the about_us.tsx file for changing the Ui
Accordingly changed the styles.

Screenshots (if applicable)

| | |

Hey there,
Thank you for taking the time to submit a pull request to our project. We appreciate your contribution and the effort you've put into it.
After careful consideration and review by our team, we have decided not to accept this particular pull request at this time. We have evaluated the changes and determined that they are not aligned with our project's goals, requirements, design or coding guidelines.
Please understand that this decision does not reflect the quality of your work or your skills as a contributor. We value your efforts and encourage you to continue contributing to open-source projects.
Thank you once again for your interest in our project and for your contribution. We appreciate your understanding.


nx-ignore fails on vercel deployments

Hi, I've recently noticed that nx-ignore has started failing on vercel deployments, with the following message:

My ignored build step command is pnpm dlx nx-ignore <app>. Could this be related to #109 and #110?

I changed it to pnpm dlx<EMAIL_ADDRESS><app>

I changed it to pnpm dlx<EMAIL_ADDRESS><app>

And did that fix it for you?


[$500] [MEDIUM] Bank account - Confirm button is not disabled when offline

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.41-2
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4312329
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Pre-requisite: the user must be logged in and have created a workspace

Go to Workspace > Bank account
Initiate the add BA flow until you reach the Personal info double check page
Disable the internet connection

Expected Result:
The Confirm button should be grayed out and disabled
Actual Result:
Confirm button is not disabled
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0116b0e762d51b88bd
Upwork Job ID:<PHONE_NUMBER>209448448
Last Price Increase: 2024-02-19

@MrMuzyk I believe you can address it in your PR

Hey I'm Marcin from Callstack - expert contributor group - I'd like to work on this issue

@Swor71 will address this issue this week

And engineer is already assigned to this issue

Proposal
Please re-state the problem that we are trying to solve in this issue.
Confirm button is not disabled when offline
What is the root cause of that problem?
We show the button even when user is offline
What changes do you think we should make in order to solve the problem?
Check for network status and reachability to enable / disbale button

we can refactor and maybe make the useNetwork simple to add in reachability, using something like this

import { useState, useEffect } from 'react';
import NetInfo, { NetInfoStateType } from '@react-native-community/netinfo';

interface NetworkManagerState {
  networkType: NetInfoStateType | null;
  isConnected: boolean | null;
  isInternetReachable: boolean | null;
}

const useNetworkManager = (): NetworkManagerState => {
  const [networkState, setNetworkState] = useState<NetworkManagerState>({
    networkType: null,
    isConnected: null,
    isInternetReachable: null,
  });

  useEffect(() => {
    const unsubscribe = NetInfo.addEventListener((state) => {
      setNetworkState({
        networkType: state.type,
        isConnected: state.isConnected,
        isInternetReachable: state.isInternetReachable ?? null,
      });
    });

    return () => {
      unsubscribe();
    };
  }, []);

  return networkState;
};

export default useNetworkManager;

Additional
We can adjust button constraints at the bottom as it looks cropped

hey, sorry for a late response to this issue, I had some technical problems with my setup.
fixed this issue along with the same cases for other substep confirmation pages here:  https://github.com/Expensify/App/pull/37025


Fix blockout time datepicker for hour blocks

Allow users to move start date forward when setting a blockout for a time slot on a single day.
The datepicker was not able to advance start date past the end date. This allows that. Possible further work could be to remove the end date altogether, but I suppose this allows for a blockout to be for a timespan that covers midnight.

Yes, I believe the end_date should move forward to match the start_date if the start_date is beyond the end_date. This seems to be the normal pattern for when dealing with start and end dates.

@nvick clarifying a little, this was in the context of blockouts are not "all day" so its only a few hours out of a given day. In that circumstance, the blockout start_date couldn't be advanced past the end_date; however, since this is only for hours on one day, end_date is probably moot since it should be the same day.
My initial comment was probably overthinking things a little, since a blockout that spans overnight, is probably just two days.

Also in #120


Added global filtering to Job Result log table

Closes: #3877
What's Changed

TODO

[ ] Explanation of Change(s)
[ ] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[ ] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
[ ] Example Plugin Updates (when adding/changing features)
[ ] Outline Remaining Work, Constraints from Design

I see this is targeted at next since #3877 was marked as a feature - personally I'd argue that this should be considered a bug and fixed in develop. Thoughts?

Failing in CI again - something fragile/timing-dependent still?


Abandoned?

What is the status of the project? It seems to have seen no updates in the last 5 years, is it abandoned? And if so what is the "official" replacement?
If the project is to be considered abandoned, maybe that could be indicated in the readme and the project archived?

@lifthrasiir ^^

@lifthrasiir ^^


mat1 and mat2 shapes cannot be multiplied (262144x6 and 3x64)

Traceback (most recent call last):
File "train_cm.py", line 696, in
main()
File "/dp3/lib/python3.8/site-packages/hydra/main.py", line 94, in decorated_main
_run_hydra(
File "/dp3/lib/python3.8/site-packages/hydra/_internal/utils.py", line 394, in _run_hydra
_run_app(
File "/dp3/lib/python3.8/site-packages/hydra/_internal/utils.py", line 457, in _run_app
run_and_report(
File "/dp3/lib/python3.8/site-packages/hydra/_internal/utils.py", line 223, in run_and_report
raise ex
File "/dp3/lib/python3.8/site-packages/hydra/_internal/utils.py", line 220, in run_and_report
return func()
File "/dp3/lib/python3.8/site-packages/hydra/_internal/utils.py", line 458, in
lambda: hydra.run(
File "/dp3/lib/python3.8/site-packages/hydra/_internal/hydra.py", line 132, in run
_ = ret.return_value
File "/dp3/lib/python3.8/site-packages/hydra/core/utils.py", line 260, in return_value
raise self._return_value
File "/dp3/lib/python3.8/site-packages/hydra/core/utils.py", line 186, in run_job
ret.return_value = task_function(task_cfg)
File "train_cm.py", line 693, in main
workspace.run()
File "train_cm.py", line 327, in run
nobs_features = encoder(this_nobs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
return forward_call(*args, **kwargs)
File "/ManiCM/ManiCM/diffusion_policy_3d/model/vision/pointnet_extractor.py", line 275, in forward
pn_feat = self.extractor(points)    # B * out_channel
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
return forward_call(*args, **kwargs)
File "/ManiCM/ManiCM/diffusion_policy_3d/model/vision/pointnet_extractor.py", line 178, in forward
x = self.mlp(x)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
return forward_call(*args, **kwargs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/container.py", line 219, in forward
input = module(input)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
return forward_call(*args, **kwargs)
File "/dp3/lib/python3.8/site-packages/torch/nn/modules/linear.py", line 117, in forward
return F.linear(input, self.weight, self.bias)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (262144x6 and 3x64)

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

We started over with ManicM on a clean machine and did not find any problems. If you have modified something, it is recommended to solve it through debugging,


AOI buffers dissapear after running a second analysis

Steps
I have encountered a couple of issues while replicating the 2nd demo @cartodave made in #the-retraining:

Create a map with points dataset (layer1).
Run AOI analysis in layer1.

Continue the workflow analysis in layer1. This time "Enrich from DO". I select United States as COUNTRY, Transportation as MEASUREMENT and Commuters by Subway or Elevated as SEGMENTS.

The buffers disappear. In addition, the values from the DO are really low. According to @AbelVM it is because the values are normalized. But another explanation could be that the second analysis is using the point geometry instead of the buffer geometry to extract the DO data.

as you see, the geometries are still polygons so this looks as a bug with the cache of layers and the style we apply.

Does this happen always?

It always happens with "Enrich with DO" analysis.

@xavijam feel free to assign to @viddo with priority tho...

Happening to me as well when doing an "Intersect with second layer" analysis in a polygon layer with a previously analized points layer. As soon as you any property on the style form on the polygons layer, they get correctly rendered as polygons
cc/ @javisantana

The really low column values were a result of numbers being calculated per sq m instead of per sq km.  This should be resolved now.

Also want to flag https://github.com/CartoDB/dataservices-api/pull/237 here, as once that's merged then we'll get different numbers again for polygon measures -- the absolute number instead of a rate per sq km.  This is the original intended behavior, but there were several layers of problems thus the back and forth.

ok, several things here:

hey, I can't reproduce with my datasets, could you send the .carto so I can check?
I think DO analysis should have an option to normalize by pop at UI level cc @saleiva

@javisantana Sent it via slack.

@javisantana the original design contains a denominator.
also AFAIK, for polygons those variables come up already normalized by sqkm

@saleiva that's actually in error.  The documentation says we should normalize by sq km for points, but have absolute values for polygons.  This is a known issue documented here (https://github.com/CartoDB/dataservices-api/issues/235) that will be resolved by https://github.com/CartoDB/dataservices-api/pull/237 when deployed.

And 👍 surfacing the normalize by denominator option!

Been debugging @ramiroaznar's map together with @javisantana , what we found was that when the maps API returns status "ready", and as such we do a lookup of the data to get the geometry type, the SQL API call returns no data even if there should be. If checking a moment later the data is there, so definitely a race condition. Seems like the maps API returns ready too early, so fixing that should fix this issue.
There's also a 2nd issue, which is that we should probably not set simple styles if a geometry is not found, so will change that separately.

Ah, a 🐞 inside of a 🐞 ... just had one of those last week.  Glad to hear this should be resolvable so easily.

cc @rochoa read the last @viddo comment. My guess is it only happens on SaaS so it's likely a race condition thing. It's easily reproducible with the steps provided and this carto https://cartoteam.slack.com/files/ramiro/F1V4VHYCB/subwaystations_map__on_2016-07-26_at_12.58.07_.carto

I see queries to the SQL API to retrieve the geometry type before the node is set to ready status. Furthermore, those tables are not being cached, if you check the response headers you see X-Cache:MISS. I see the client is sending a cache_buster param to avoid being cached, but that should not be needed since https://github.com/CartoDB/CartoDB-SQL-API/pull/330.
Does the client cache the geometry type at any time?

I see the client is sending a cache_buster param to avoid being cached, but that should not be needed since CartoDB/CartoDB-SQL-API#330.

The cache bust was added as a temporary solution (#8749), I've created a separate issue to have it 🔥 then 👉  #9217

Does the client cache the geometry type at any time?

No, not yet, it's planned to be done soon enough though 👉  #8827

Debugged with @rochoa in-person:

I see queries to the SQL API to retrieve the geometry type before the node is set to ready status.

This was a false lead, separate request done by the table-view. it has not affect on how the layer is rendered though.
Anyway, @javisantana @ramiroaznar we can't reproduce the issue anymore, and unfortunately we're not sure why. 😕  For now we'll close it, feel free to re-open if this happens again (and hopefully have some more data/STR to go on).
Note that an exported .carto file that have undesired layer styles (as the one sent offline for this issue) will always render the things wrong, removing/adding a node will update the styles accordingly though.


测试

测试

Dfgsdfgsdfg
sdfgsdfgsdfg

adfadf

Was sass
sadfasd
sdfasdf
sdfasdf
**sdfsdfsdf **
_ sdfasdfasdf_

asdfasdfasdf
 sdfasdfasdfasdf
sdfsadfsadf

a sdfasdf
sdfasdf

sdfasdf
sdfsadfsadf

sdfasdf

sdfasdfasdf

sadfasdfasdfa
Sdfasdfasdf

测试

测试

明明哦


can i get time value in scheduled function?

hello,
i wanna know the value of time when scheduled function called.
example, i set cron job with (* * * * * *) scheduling expression,
maybe function is called every second, but i log new Date()'s second value in function at first line, this value is shown as 1, 2, 3, 4, 6, 6, 7, ...
can i get exact time when job excuted in job function?

@bchelli first sorry for the very long time to answer your question.
There is no way to get this the right time from now, but I think this is a node-cron issue.
Can you remember if you has done that inside the task function?

The bug here is, when a task is scheduled a interval is created, what is happening is the task is checked and performed twice in the same second. I think a previous execution checker should be added to node-cron to prevent this bad behavior.

This issue is the same than #38


Corrected README clone path and various spelling mistakes

Adjusted the README clone path to the public https path instead of ssh
Corrected various spelling mistakes within the code base.

Thank you!
Did you use some tool to find typo or find by yourself? If there’s good tool I’d like to consider introducing it in workflow.
cf. issue #16

I found the first couple manually just as I was reading through the code but then installed a VSCode extension to help me catch more before submitting a PR:
https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
This particular extension seems to only check open files so it ended up being pretty manual although it caught everything I expected it to.
For a more automated approach, gometalinter can use the 'misspell' linter, but the dictionary seems limited and it wasn't finding some mistakes I intentionally introduced.  I'm not sure if it was just user error or if there's a way to enhance this.
There may be others out there as well; I didn't spend a ton of time searching.

Thank you for the details.
I'll try something and consider using it with CI.


Add Vulnerability Management WG contributors

With pr we introduced roles yaml for the VM WG. We missed to add the members as contributors with that pr.

Users with a WG role become a member of cloudfoundry org even if they are not part of contributors.yml. But of course, it doesn't harm to add them as contributors. Our promotion rules even require it.
The org automation is currently red and the new teams that should have been created by #746 don't exist yet.


Freezes when dealing with netcdf files

From<EMAIL_ADDRESS>on 2014-09-27T02:23:12Z
I have a variable read from a netCDF file, its shape is "**.shape --> (77,)", so this is not a large data.
But when I want to print it out, the program just stay still. Why does this happen?
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1988

From ccordoba12 on 2014-11-18T15:32:02Z
Could you upload an example file for us to test?
Labels: MS-v2.4 Cat-VariableExplorer

@ccordoba12, no feedback on this one, closing?

People reported in the past that using netcdf files crashes Spyder.
Let's leave it open until someone can really confirm that this is not the case anymore.

:+1:


Unable to log in via username+password

I tried to use livestreamer-twitch-gui version 0.11.2 application on a host running Arch linux. Installed it trough yaourt. The login dialogue appears and I can enter password and username but after Clicking the login button it changes to "Logging in..." Thats were it just sits. I can stop the logging process but I cant view any data linked to my account. Am I doing something wrong or is something else happening here (or not). Feel free to ask for any info! Oh and btw the login on the website works!
Are you able to help me with that?
Kind regards,
wasrek

I can't re-login either, my used OAuth token is still valid, though...
There seems to be something wrong on Twitch's end, I think. The GUI's auth system has not been changed in one of the last releases. The application's client-id is also still valid (it is still listed in my account's connections).
But when I try to login, it says

Oops! We encountered an unexpected error logging you in. Please try again.

without redirecting me after my successful login attempt.
I really hope they didn't change anything and this is just temporary. They could have either disabled my client-id or have changed anything in their auth system, I'm not sure.
The GUI for instance doesn't use a HTTP redirect url for the OAuth flow, but a NW.js specific protocol instead, so maybe something broke here. This would be catastrophic though and I would need to quickly rewrite the auth system and release a new version.
You're still able to log in by directly using an oauth token.
Advanced settings need to be enabled for this first (top of the settings menu). Then go to the user menu and click the Use access token button. OAuth tokens are application independent, which means you can use one that's been generated by another app.

Now I also get the error message

Please complete the CAPTCHA correctly.

And there is no captcha in the login form...

Sometimes I do get the captcha but I can assure you, filling it in correctly does not slove this :)

I'm having the same problem.
When I de-authorize the app, instead of hanging when trying to log in, it goes correctly to the authorize page and it hangs when I click on "Authorize".
Afterwards Twitch connection's page shows the app is connected.
Maybe the response from the server is not parsed correctly?
BTW, how can I generate such OAuth token?

Whenever I try to Log in, I can sometimes get to the 'Authorize' button but clicking it does nothing, Other times i try and login and it eventually times out and or the captcha expires.

Maybe the response from the server is not parsed correctly?

There is no server response at all... What you are seeing in the auth window is the default Twitch application login form on their website. When you enter your username and password, it should redirect your browser to the specified return-URL (see here) with the token and scopes as parameters. But as you can see, it does not redirect and instead shows an error message. Why it is doing this, I can't tell.

BTW, how can I generate such OAuth token?

You can use a token generated by any registered app. These are the required scopes...
There are a few services out there which let you login via their client-id so you can get an oauth token. But these services only set the chat_login scope, so you're not able to use the token in the GUI.
I haven't found another service yet which sets all the required scopes...
If you want to register your own app with your own client-id, you also need your own return-url and set up a webserver as well.

I have created a thread on the twitch dev forums, since I haven't seen any auth related issues today.
Let's hope this will get fixed soon...

Error
There was an error while trying to display this page.
Name
HTTP Error
Message
Service Unavailable
Detail
Unable to retrieve stream summary
Status
503
Host
api.twitch.tv
Path
kraken/streams/summary
cant login, how can i get a OAuth token from another app?

Detail
Unable to retrieve stream summary
Status
503

This is completely unrelated to this issue... It is just a boringly normal API request fail.
Please don't bloat this thread with this kind of stuff. Thanks.

how can i get a OAuth token from another app?

This depends on the app/service you are using. I made the token accessible, because people requested it, so they could use the same login on multiple devices. Other developers may not see the need in that, simply don't care or see it as a security risk, whatever.
Just use Google (twitch access token, etc.). I can't help you with that, I don't know any other apps/services with this kind of feature and the same required OAuth scopes.
I'm going to reimplement the AuthService if this issue is still not fixed after the weekend. I don't know if I'm able to do this in time though, since I'm a little bit busy right now...

Hello!
First, i would say your app is very good, keep-up the good work Bastimeyer!
I have the same problem as everyone here for a few days now, i tried to log in with the 2 possible ways, but it failed. I hope it will be fixed easy and fast.

Hey, I'm usuing your API too (and, btw, it's awesome, ty for that). But I also have this issue. I installed new version yesterday and up to this moment thought it was my fault that I could'n login) Anyway, I have had this message popped once: "Oops! We encountered an unexpected error logging you in. Please try again.". I guess it might be helpful (or not). Good luck with your other projects and fixing this issue)

I have just reimplemented the authentication system. The work has not been merged into the master branch yet, as I want to verify that everything is working correctly on all systems first.
The changes are on the auth-reimplementation branch and these are the commands for cloning the repo and running the application:
git clone -b auth-reimplementation https://github.com/bastimeyer/livestreamer-twitch-gui.git
cd livestreamer-twitch-gui
npm install -g grunt-cli bower
npm install
grunt metadata less:source run:src

More infos for building the app can be found here.
So far, it's running fine on all my systems, but I'd like to know if there are any potential issues with the local webserver that's being started, like issues with the Windows firewall for instance.
 The current client-id still has the old redirect-url set, so Twitch will reject the configuration that's being used. This will be changed once I know that everything is working.
Until then, please apply this patch first client-id.patch.zip. Unpack the file and run git apply client-id.patch before running the grunt command. This will replace the client-id with a temporarily registered one that has the proper redirect-url set, so the auth system is able to work.
Thank you very much for helping!

Ok, I decided to merge this. I don't see anything odd, even on Windows. This should be good to go...
A new release containing these changes will be uploaded soon.
Reopening the thread for visibility...

https://github.com/bastimeyer/livestreamer-twitch-gui/releases/tag/v0.12.0
If there are any new issues related to the authentication, please open another thread. Thanks.


Extend error handling when we can't properly initialize a device

I was messing around and noticed it segfaulted when I didn't have the proper USB permissions. With these fixes it should at least provide users more notice of what they're doing wrong instead of segfaulting.
I should also note I was able to segfault pixelpulse2 somewhat consistently by shorting the 5V pin, but haven't tracked down a fix for that yet. Probably something similar though with usb device handling on corner error conditions.

Thanks!


ChooseRandomSpellFromList  - spell range issue

In Orc Cave of IWD there is Orc Shaman, AI of whos is using this ChooseRandomSpellFromList way of determining of spell selection.
What I have seen in my playthroughs:
Shaman would use Sound Burst even if Shaman is way too far to be within a range of the spell. I saw same thing in ToEE.
split from #602

BTW, are you sure it's ChooseRandomSpellFromList? And if so, why does it matter?

@anatoliy-savchak ping

BTW, are you sure it's ChooseRandomSpellFromList? And if so, why does it matter?

ChooseRandomSpellFromList will go before AI tactics. That's why I always disable it zmod.

Verified, now it works good. Closing the ticket.

That's odd, because I didn't touch ChooseRandomSpellFromList 🤨
Unless the issue wasn't there, which as far as I know it isn't...

Shaman had problems finding correct (long) path my PC, so in both situations (before and today) he would stay around the corner. But in first situation he would still cast Sound Burst and it would work through the walls. Now he as not Sound Bursting my players unless they would PC approach him so it worked fine.
That it why I thought it is closed.

Well I did change cast area and cast fireball tactics so that's probably why.


fix unwrap raw values in wide results

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
context for option has same lifetime as connection token
What is the new behavior?
context for options has same lifetime as driver
Close: #898

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

Comparison is base (3c08fa3) 66.85% compared to head (a37ab0e) 38.58%.

Files
Patch %
Lines

driver.go
50.00%
5 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #899       +/-   ##
===========================================
- Coverage   66.85%   38.58%   -28.27%
===========================================
  Files         258      206       -52
  Lines       24527    21279     -3248
===========================================
- Hits        16397     8211     -8186
- Misses       7288    12722     +5434
+ Partials      842      346      -496

Flag
Coverage Δ

?

go-1.17.x
38.58% <50.00%> (-26.67%)
:arrow_down:

go-1.20.x
?

go-1.21.x
?

integration
?

macOS
?

ubuntu
38.58% <50.00%> (-0.29%)
:arrow_down:

unit
38.58% <50.00%> (-0.37%)
:arrow_down:

windows
?

ydb-22.5
?

ydb-23.1
?

ydb-23.2
?

ydb-23.3
?

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

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


allow overriding dependency major version

currently there is no way in replace or patch to specify a different version than the original dependency.
with replace:
[replace]
"openssl:0.9.24" = {git = "https://github.com/sfackler/rust-openssl.git"

error: no matching package for override `https://github.com/rust-lang/crates.io-index#openssl:0.9.24` found
location searched: https://github.com/sfackler/rust-openssl.git
version required: = 0.9.24

with patch:
[patch.crates-io]
openssl  = {git = "https://github.com/sfackler/rust-openssl.git"}

is simply ignored.
error: failed to run custom build command for `openssl v0.9.24`

With the complexity of packages growing, it is sometimes nessesary to override versions in Cargo.toml since upstream cant update the version yet if another dependency hasnt updated.

You probably need to update your lockfile file for patch to work:
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#testing-a-bugfix

Next up we need to ensure that our lock file is updated to use this new version of uuid so our project uses the locally checked out copy instead of one from crates.io. The way [patch] works is that it'll load the dependency at ../path/to/uuid and then whenever crates.io is queried for versions of uuid it'll also return the local version.

This means that the version number of the local checkout is significant and will affect whether the patch is used. Our manifest declared uuid = "1.0" which means we'll only resolve to >= 1.0.0, < 2.0.0, and Cargo's greedy resolution algorithm also means that we'll resolve to the maximum version within that range. Typically this doesn't matter as the version of the git repository will already be greater or match the maximum version published on crates.io, but it's important to keep this in mind!

Note thar git repository contains openssl 0.10, while you seem to replace 0.9. That means that you probably need to update Cargo.toml as well, because 0.10 and 0.9 are not semver compatible.

thanks, i'm aware of this. the lockfile is deleted on every try.
that is correct, i was asking for a future that allows overriding 0.9 with 0.10 in Cargo.toml of my project rather than in the actual project that depends on 0.9

i was asking for a feature that allows overriding 0.9 with 0.10 in Cargo.toml of my project rather than in the actual project that depends on 0.9

Oh, sorry, I've misunderstood your intentions! Yes, I think currently it is impossible to replace dependency specifications: that is, if a crate depends on foo 1.0.0, you can't make it to depend on foo 2.0.0 instead (this is a non-trivial task, because 1.0 and 2.0 are semver-incompatible).
However, it is possible to override the dependency itself. My understanding is that your project depends on library foo, which depends on openssl 0.9, and you want foo to use openssl 0.10. Would it be possible to fork foo, modify it's Cargo.toml to say openssl 0.10, and then patch foo instead of openssl?

yep, doing that now, this helps me :)
but i was thinking there should be a more generic solution for this in cargo

Yeah, such extension is possible in theory!
However, the current "fork upstream and edit Cargo.toml" has two benefits:

it already works :)
it nudges you towards submitting a PR to the upstream, which is arguably better than just accumulating project-local replacements.

i'd really like to see this too, imo it is a huge usability issue for both patch and replace, and it seems to me that without the ability to override version specs neither of them actually work for all but the simplest scenario (as is described in the docs) :-/
The fork-and-update approach is nice for the case when you're just a version behind, but, practically there are a bunch of situations that are not that and in my experience you often end up having to fork a pile of transitive dependencies to edit their dependency versions to test a patch, at which point patch and replace don't actually offer any utility and you may as well just change the dependency key directly.
As a simple example, for packages A, B, C and D, where:

A depends on B and C
B depends on D:0.1.0
C depends on D:0.2.0

To test an unpublished local change to D (or if D publishes a 0.3.0 release), there's no way to patch up to that from A without forking and altering both B and C.
This problem is in no way limited to only two intermediate dependencies, and as one of the maintainers of a reasonably widely used D-like package, this makes testing patches and changes a huge effort.
The documentation 1 2 3 also only mentions versions are important in one of the three places, and does not cover transitive dependencies at all, so it'd be neat to clear that up with whatever the outcome of this is.

Any chance of getting this implemented? Overriding dependencies manually, even if there is a potential semver violation, is an important task in many complex projects. Unfortunately, the real world is not ideal, and it is possible to have situations where dependency versions in upstream projects just don't match, and there is a need to set things manually.
Right now, I can't do anything to fix a dependency issue in my project without manually forking some repositories and doing fixes there, and then using the [patch] section in my manifest.
It does not seem at the first glance to be a hard thing to do from the technical standpoint: just allow specifying dependency version overrides in the manifest, e.g. like this:
[[version-overrides.some-crate]]
version = "1.2.3"  # override dependencies only for some-crate=1.2.3 but not e.g. some-crate=2.3.1

[version-overrides.some-crate.dependencies]
dependency = "3.2.1"  # overridden version

This configuration would work as a simple replace in the manifest of the overridden crate, and won't do anything else. So in the example above, Cargo would behave as if the manifest of some-crate=1.2.3 contained dependency = "3.2.1" instead of whatever dependency is defined there by default.
This does go against the idea of semantic versions, but as I said, sometimes there are things which have to be done, and it is great if tools give the developer a power to do them.

Also, it's not currently possible to patch multiple versions of the same dependency in your project. Example dependency tree from the project-level Cargo.toml:
A = 2.0
B = 1.0
    A = 2.0
    C = 1.0
        A = 1.0

A has a bug that you need to patch. You can only specify a single version because the patch is unversioned:
[patch.crates-io]
A = { git = "https://github.com/my/repo.git", branch = "fix-0.2" }

As long as C is the only user of<EMAIL_ADDRESS>you can just patch it (or as previously requested, override the constraint) to use the same version, but this doesn't scale if the dependency is widely used (which is somewhat likely due to rust's small stdlib).

Isn't this exactly this case from the doc?
https://doc.rust-lang.org/cargo/reference/manifest.html#using-patch-with-multiple-versions
On Fri, 21 Feb 2020 at 23:54, Cam Cope<EMAIL_ADDRESS>wrote:

Also, it's not currently possible to patch multiple versions of the same
dependency in your project. Example dependency tree from the project-level
Cargo.toml:
A = 2.0
B = 1.0
A = 2.0
C = 1.0
A = 1.0
A has a bug that you need to patch. You can only specify a single version
because the patch is unversioned:
[patch.crates-io]
A = { git = "https://github.com/my/repo.git", branch = "fix-0.2" }
As long as C is the only user of<EMAIL_ADDRESS>you can just patch it (or as
previously requested, override the constraint) to use the same version, but
this doesn't scale if the dependency is widely used (which is somewhat
likely due to rust's small stdlib).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/cargo/issues/5640?email_source=notifications&email_token=AANB3M6OS4TLXQVUS3WDYETREBLRFA5CNFSM4FFVLY5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMULOZA#issuecomment-589870948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANB3M22JZBMWTNCDLIZDFLREBLRFANCNFSM4FFVLY5A
.

Ah yes, I missed the note underneath about the name being ignored. That format is kind of confusing though, I was thinking about adding a config variant like:
package_name = [
    { version = "1.0", git = "..." },
    { version = "2.0", git = "..." },
]

Is there a reason it wasn't done that way originally?

Here's a real world example where this feature would be useful: sccache depends on rouille, which hasn't been updated since 2019. rouille depends on tiny_http 0.6. This setup has a bug that surfaces in sccache, and that was fixed in tiny_http 0.7. Considering the lack of activity on the rouille repo, I don't see a bump of its Cargo.toml to use tiny_http 0.7 happening. It seems the only workable solution today is to either move away from rouille (lot of work), or publish a rouille fork to crates.io. (I tried publishing a fork of tiny_http and to use a patch with a package pointing to the fork, but that doesn't seem to work)

Here's a real world example where this feature would be useful: sccache depends on rouille, which hasn't been updated since 2019. rouille depends on tiny_http 0.6. This setup has a bug that surfaces in sccache, and that was fixed in tiny_http 0.7. Considering the lack of activity on the rouille repo, I don't see a bump of its Cargo.toml to use tiny_http 0.7 happening. It seems the only workable solution today is to either move away from rouille (lot of work), or publish a rouille fork to crates.io. (I tried publishing a fork of tiny_http and to use a patch with a package pointing to the fork, but that doesn't seem to work)

If you are a maintained project and your dependency has not been updated, then a fork of the dependency seams like the honest way to do things.

If you are a maintained project and your dependency has not been updated, then a fork of the dependency seams like the honest way to do things.

Local fork patches appear to be ignored if the major does not match the original request.

I agree this seems like a huge problem. Forking every indirect dependency in light of vulnerabilities and the like is totally unscalable / impractical for a downstream project. I would love the option to force a patch.

Any updates? This is a very useful feature

A problem I'm having is that I am trying out a new release of a popular library to be an early-adopter (actix-web 4) which is mostly compatible with version 3. However some libraries are now unusable because they specify version 3 in their manifests so all of the types are (confusingly) wrong. In this case there is a 99% change that the libraries work, I am ok to deal with that risk as a beta tester and it doesn't make sense to update the library (because they are following the stable version as they should!). Right now there isn't really a good option. We could maintain a branch/fork with a modified manifest but that seems pretty pointless if no code changes are required. In this case I think it makes sense to just have the ability to override the declared dependency to update it from v3 to v4 so that I can test out the new version.

A problem I'm having is trying to build an old rootfs using yocto release sumo, when building cargo it goes off and gets the latest crates but eg the latest v1 bitflags (1.3.2) won't build with the sumo version of rust (1.24.1) :/

Bump, this is a really important practical problem that cargo should allow you to solve the easy way.

This has bitten me multiple times now, and I still don't have a practical solution to the problem.
In my current case, I'm trying to use genpdf which requires image 0.23.12, with barcoders which requires image 0.22. I'm sure I can find an image version compatible with both, but I can't see any way to force them to use a common version.

+1 this is a frequent headache for me as well.

I hit this problem on a weekly basis.

If you are a maintained project and your dependency has not been updated, then a fork of the dependency seams like the honest way to do things.

While re-reading this issue and the comments, because this still comes up frequently for me, I haven't seen a particular argument in favor of making versions patch/replace-able in Cargo.toml: source control. Forking dependencies requires maintaining either:

a separate repository
a git submodule
a vendored directory in the project repo

Having a completely separate fork repo or a submodule completely divorces the dependency override from the core repository and adds a third, hidden dependency: keeping two version histories in sync, the project's head and the fork. Vendoring the fork does keep the override adjacent to the core repository, but actually adds a fourth hidden dependency: keeping the vendored code in sync with the upstream or external, forked repo via git subtree or the like.
The option proposed in this issue makes documenting and maintaining the override of a transitive dependency much simpler: two lines in Cargo.toml, a patch/replace line and a comment documenting why. No change to repo structure.

This feature may become much more important if Rust gets LTS releases. LTS users may want to prevent all their dependencies from requiring higher, incompatible versions of crates.
For example, a dependency like env_logger can make many crates unusable on an older Rust version, even though changes between "major" versions of the crate aren't that major, and it could easily be force-downgraded.
This is currently doable by individually patching every user of the crate to replace, but that is too laborious. In the users forum this is a recurring question, and the status quo answer is always disappointing.

@kornelski I am experimenting on patching with patch files. This should solve the problem in the other way, since it is able to patch everything including package.version in Cargo.toml. See this test case as an example:
https://github.com/rust-lang/cargo/blob/faba4abc89f61dcb3a5141f534b07539d1cf80fd/tests/testsuite/patch_files.rs#L556-L612
(That said, I'd like to explore more on ergonomics for it)

For example, a dependency like env_logger can make many crates unusable on an older Rust version, even though changes between "major" versions of the crate aren't that major, and it could easily be force-downgraded.

While I understand the general thought (imo another good example is dealing with packages that depend on git2), I'm curious with this example as, generally, env_logger should only be depended on by applications and not libraries, unless its for tests for which it shouldn't matter.

ok, env_logger wasn't the best example. But it happens that crates have mostly-compatible semver-major versions, and with a little luck could be upgraded or downgraded: git2, gix, bindgen, itertools, hashbrown, comrak, and about 3 out of 4 cargo releases. Recently old ahash had incompatibility with nightly, and it'd be handy to be able to easily force-upgrade everyone. There's currently an ecosystem split due to a new incompatible hyper, but it affects plenty of crates just use basic reqwest::get or http::HeaderMap that haven't changed, and could be easily force-upgraded.

I frequently wish for this ability, because of the following use case, which I have not seen mentioned already:
Your project depends on a package, and you want to test a change to that package which is only in its repository, not released. Depending on how the repository committers choose (or happen) to manage their Cargo.toml, this may be impossible without also forking, such as in these cases (I have encountered both):

Minor/patch releases get version bumps in branches only, so the main branch has package.version = "1.2.0" even though version 1.2.3 is released on crates.io and required somewhere in your dependency graph. Here, there isn't a major version difference, but it is still incompatible.
The major version is eagerly bumped after each release, i.e. you're using 0.24.0 and you want to test a patch, but the repository has package.version = "0.25.0" even though no breaking changes have yet been committed.

It would be particularly useful to reduce the effort required to patch in these cases, so that users of libraries can more quickly and easily test out changes and give feedback (e.g. to PRs actively in progress). Note that in this hypothetical, the repository is actively maintained — we're not patching stale/abandoned libraries — it's just that we don't want to give them additional tasks to do.
The way I would personally like to see this work is to just add a sledgehammer option to [patch] which replaces all versions of a package regardless of whether they are compatible. Possible syntax for the example in the original post:
[patch.crates-io]
openssl = { git = "https://github.com/sfackler/rust-openssl.git", patch-all-versions = true }

This would not work for all cases, but it would work for most of them (in my experience), and it would be faster to configure and have fewer edge-cases than a more precise "replace version 2.0.3 with version 3.0.0".

I'm currently trying to upgrade plugins for Bevy 0.14, and this is causing so much pain.
Bevy has a huge graph of tightly coupled first-party and third-party crates depending on each other in specific major versions, and then depending on specific major versions of related crates like egui, wgpu, and winit.
Just updating one Bevy plugin requires replacing multiple crates and over 40 [patch.crates-io] entries! Even more annoyingly 0.14.0-dev in git is incompatible with 0.14.0-rc.2 on crates.io, so even crates already patched for 0.14.x need to be patched again to align their exact prerelease versions.

I'm currently trying to upgrade plugins for Bevy 0.14, and this is causing so much pain.
Bevy has a huge graph of tightly coupled first-party and third-party crates depending on each other in specific major versions, and then depending on specific major versions of related crates like egui, wgpu, and winit.

That's where I am. 3D graphics involves many tightly coupled high performance moving parts.
I'm trying to upgrade rend3, which also depends on specific versions of wgpu, egui, and winit. Plus minor stuff such as wgpu-profiling, naga, and glam. These are all maintained by different groups. Wgpu just released a major breaking change version, so there were weeks of issues and pull requests as everybody catches up. Then it turned out that the first breaking change caused a problem which required a second breaking change to wgpu, which restarted the whole churn cycle.
In this kind of situation, you need good version patching capability so you can test during the churn phase without too much extra work.
So that's the use case.

I have a case for this where there is a PR against the crate to update the major version (it's really only a change in Cargo.toml because the parts the library is using didn't break) but the maintainer is unavailable. And while an unavailable maintainer is a red flag the crate works fine and there isn't much that can go wrong anyway, so forking it just to change Cargo.toml seems excessive.

There's a related problem of difficulty moving users of a library from 0.x to 1.0 when it goes "stable", without causing churn and fragmentation of an already de-facto stable final 0.x version.
https://github.com/rust-lang/cargo/issues/14460
I suspect both issues may have the same solution, which selectively allows unification of semver-major versions.

Some prior art for this in other ecosystems:

pnpm: pnpm.overrides and .pnpmfile.js hooks . IIRC, pnpmfile predates all other JS world features of this sort.
yarn: resolutions
npm: overrides
parcel: aliases
bun: supports yarn and npm - see https://bun.sh/docs/install/overrides
dart pub: dependency_overrides
pip: --ignore-conflicts and some conflict resolution strategy options. Or use tools like pip-compile and poetry export --ignore-conflicts to build requirements.txt format and manually pick versions
pdm: tool.pdm.resolution.overrides and tool.pdm.resolution
uv: overrides.txt
sbt: force()
gradle: strictly/force
ivy: override
mix: override
bazel: single_version_override

And ecosystems that adopt the "add a direct dependency to override indirect deps versions" stategy:

nuget
Maven
Rebar3 "level-order traversal"
Composer iirc


The static members of Network and Consensus should be eliminated.

Instead, network and consensus should be passed around like a service or set to a single location like Consensus.Current, Network.Current. INetwork or IConsensus could add some flexibilty.

Ho yeah I agree but the node generally doesn't use the static versions (only at startup)

ohh, it uses it in may places, believe me :-)

In the fullnode? can you show me where?

some typical workarounds:
static Network()
{
if (!NetworkConfig.UseSingleNetwork)
{
_Main = new Network();
_Main.InitMain();
_Main.Consensus.Freeze();
			_TestNet = new Network();
			_TestNet.InitTest();
			_TestNet.Consensus.Freeze();

			_RegTest = new Network();
			_RegTest.InitReg();
		}

	}

public static IEnumerable GetNetworks()
{
if (!NetworkConfig.UseSingleNetwork) // don't yield null results
{
yield return Main;
yield return TestNet;
yield return RegTest;
}

public bool CheckProofOfWork() // Block.cs
	{
		return CheckProofOfWork(null);
	}

public bool CheckProofOfWork(Consensus consensus)
{
consensus = consensus ?? Consensus.Main; // you always get Consensus.Main.

There are perhaps 15 places or so where you get Network.Main or Consensus.Main (or Bitcoin RegTest) instead of e.g. StratisTest. Network is often not passed on, instead taken from the properties of the Network class, so it changes silently ;-)

public static Network Main // has 99 references!
{
get
{
return _Main;
}
}

Network.TestNet has 15 and Network.RegTest has 29 references. This all goes from if you want your 'other' Network and not one of the defaults :-)

closed this, to make a more detailed proposal!


Javascript inlining / importing clarification

Per README.md:

If JavaScript can't be imported (or is Google Analytics), source is not put inline

Can you clarify what this means? Does it fail if the .js source is not accessible? Or is this a reference to ES2015's "import" statement?
On a related note, will it curl remote (CDN) assets and inline those as well?
Thanks!

No, this isn't es6 imports. Though, es6 imports aren't inlined at all. This line refers to any failures to request the script, and if it fails, it leaves the script src as is.


chore(ci): configure jspm github auth

Any reason not to merge?

It's not quite ready. I had previously added jspm install to the npm postinstall script to simplify installation and let us avoid installing jspm globally. That won't work with this change because jspm needs to be installed before we configure it. I need to swap that around now. I'll try to wrap it up tonight.


A new button for Toggling the theme

Short Description
Deleted Material UI packages & added a new button for toggling the theme...
Screenshots

Good Job👍

Thank You @RakeshSangem
I'm so happy that the LocalStorage is working fine 😅✌ Thanks God


typofix

Fixed some typos in Environment.py
Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[ ] Build (python setup.py install) was run locally and any changes were pushed
[ ] Lint (black rocketpy) has passed locally and any fixes were made for failures
[ ] All tests (pytest --runslow) have passed locally

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[x] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

RocketPy's code did not have any unit tests setup.
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

@lucasfourier  , thank you for the great Pull Request
Please add yourself as an author (line 3) and we can approve it.
Btw I really appreciate your time reading the docstrings and correcting those typos, awesome!


Run Scooby against Storybook stories

It would be great to provide a link to a Storybook.
Scooby can then access the Storybook, iterate over all of the stories and store the HTML to then compare as it does normally.

B-->|Yes|C{Is Storybook URL}
B-->|No|D[Continue current flow...]
C-->|Yes|E[Access Storybook's iframe.html]
C-->|No|F[Access URL]
E-->G[Get stories data*]
G-->H[Create a list of story URLs to visit**]
H-->I[Access the story URL]
I-->J[Get HTML for Story***]
J-->K[Save HTML to file]
F-->K
K-->D

We can get this via global STORYBOOK_STORY_STORE (or something similar). And then the getStoriesJSONData function

** - URL of the stories equal to the key of the story in the JSON object.
e.g.,
const data = getStoriesJSONData;

// result
{
  "components-button--large": { ... }
}

const url = new URL("iframe.html",  "https://linktostory.com")
url.searchParams.append("id", "components-button--large")
const fullUrl = url.href

*** - We'll need to figure out how to pull out only the markup that we need.
Unknowns

How will we handle styles?
How can we determine which Storybook markup we need, and which we can discard?

Here's a gist that saves the HTML for a single story:
https://gist.github.com/andrico1234/c19d90ad9377c8d516c97d7d53649fdd
Any thoughts or concerns about this approach? I'll try it out within Scooby and see how it fares


Update usage docs running for EC2 and CDH

Update to use adam-submit
Update CDH docs to have YARN and standalone information

Regarding EC2, the existing (out of date) documentation is here:
https://github.com/bigdatagenomics/adam/blob/master/docs/source/40_running_on_EC2.md
To confirm, do we want the updated ADAM EC2 quickstart to deploy Spark via spark-ec2 scripts as described at?:
http://spark.apache.org/docs/1.6.1/ec2-scripts.html

So Spark's spark-ec2 script as of Spark 1.6.1 doesn't work for us, unless we modify it, due to it using java 7 and we need java 8.
I still feel like cgcloud/toil is a bit heavy weight for some users, and perhaps we should modify spark-ec2 script, or make an equivalent, that can be used for simple ADAM deployment on EC2.
But - if you think we should only document a cgcloud/toil path for ADAM on EC2 that is fine too.
What do  you think @fnothaft  and @heuermh

So Spark's spark-ec2 script as of Spark 1.6.1 doesn't work for us, unless we modify it, due to it using java 7 and we need java 8.

Officially, the spark-ec2 script is beta/unsupported, so we shouldn't use it anyways.

I still feel like cgcloud/toil is a bit heavy weight for some users, and perhaps we should modify spark-ec2 script, or make an equivalent, that can be used for simple ADAM deployment on EC2.

I would do cgcloud-spark, which is fairly battle tested, well supported by Hannes + co, etc. I would definitely not modify the spark-ec2 script or roll our own. There's a non-trivial amount of work needed to get all of this working, and you run into a shocking number of bugs and weird edge cases.
If time allowed, I would also document ADAM on Elastic Spark, but I would not plan on that as a primary documented route, since the cost model for Elastic Spark is different. If we are interested in that, I can connect you to some folks at AWS.

It looks like cgcloud-spark is on Spark 1.5.2
and java7.
We should have java8 and Spark 1.6.1 to match
the next release and current master
Should we talk with Hannes about updating spark_box ?
Also - what is the interaction here with the joda time stuff?

I'm OK with staying on Spark 1.5.2 or moving to 1.6.1. It's a one line change. I'll open a PR to move to Java 8.

Also - what is the interaction here with the joda time stuff?

Conductor is impacted by the joda time/Java 8 mismatch, but ADAM isn't. There's a WAR at https://github.com/BD2KGenomics/cgl-docker-lib/pull/187.

Opened https://github.com/BD2KGenomics/cgcloud/issues/231.

Should I go ahead and try out: https://github.com/fnothaft/cgcloud/tree/issues/231-spark-162-java8
?

@jpdna yes, that'd be great!

This: https://github.com/BD2KGenomics/cgcloud/issues/234
has me stuck, must be something dumb I'm missing as this worked for me several times in past, including last week on different machine.  My prob is same on current cgcloud from pip install cgcloud-core - so not due to using your branch Frank.    Let me know any thoughts...

has me stuck,

I unstuck it, I needed new IAM key

blocked on this cgcloud error:
https://github.com/BD2KGenomics/cgcloud/issues/245

EC2 docs resolved by #1279. CDH docs are forthcoming. @jpdna do you plan to tackle the CDH docs? If not, I'll knock them out tomorrow.

CDH docs

I'm not sure what the CDH docs should include.
Basically if you have CDH installed, then if you get an ADAM distribution, it will just work AFAIK.
I guess I'd show the example of pointing to yarn-client:
adam-submit --master yarn-client --num-executors 10 --executor-cores 2 --executor-memory 20g -- transform hdfs://hdfsmaster/data/input/file1.sam hdfs://hdfsmaster/data/output/file1.adam

If you have an idea of what it should include ands its faster for you to do then go ahead, otherwise point me in right direction and I'll look at today.


Replace submodel references with composing models

Yeah, but it didn't take too long. CI just passed.


"Invalid interpolation format for 'command' option in service 'kibana_settings'" after running start-local.sh

I just run the start-local.sh and I received the following error:
% curl -fsSL https://elastic.co/start-local | sh

  ______ _           _   _
 |  ____| |         | | (_)
 | |__  | | __ _ ___| |_ _  ___
 |  __| | |/ _` / __| __| |/ __|
 | |____| | (_| \__ \ |_| | (__
 |______|_|\__,_|___/\__|_|\___|
-------------------------------------------------
🚀 Run Elasticsearch and Kibana for local testing
-------------------------------------------------

ℹ  Do not use this script in a production environment

⌛ Setting up Elasticsearch and Kibana v8.16.0...

- Generated random passwords
- Created the elastic-start-local folder containing the files:
  - .env, with settings
  - docker-compose.yml, for Docker services
  - start/stop/uninstall commands
- Running docker-compose up -d

ERROR: Invalid interpolation format for "command" option in service "kibana_settings": "bash -c '
  echo "Setup the kibana_system password";
  start_time=$(date +%s);
  timeout=60;
  until curl -s -u "elastic:${ES_LOCAL_PASSWORD}" -X POST http://elasticsearch:${ES_LOCAL_PORT}/_security/user/kibana_system/_password -d "{\"password\":\"'${KIBANA_LOCAL_PASSWORD}'\"}" -H "Content-Type: application/json" | grep -q "^{}"; do if [ $(($(date +%s) - $$start_time)) -ge $$timeout ]; then echo "Error: Elasticsearch timeout"; exit 1; fi; sleep 2; done;
'
"
Error: docker-compose up -d command failed!
An error log has been generated in error-start-local.log file.
If you need assistance, open an issue at https://github.com/elastic/start-local/issues
% cat error-start-local.log
Error: docker-compose up -d command failed!
Docker engine: Docker version 20.10.24+dfsg1, build 297e128
Docker compose: 1.29.2
Distribution: Debian GNU/Linux Version: 12 (bookworm)
-- Logs of service es-local-dev:
-- Logs of service kibana-local-dev:
-- Logs of service kibana_settings:

The essence of this error is:
Invalid interpolation format for "command" option in service "kibana_settings"

I noticed that the mentioned command was changed yesterday. Could you take a look? Thanks.

@cioannid thanks for reporting this. Can you give me the following information about your environment?

OS type and version
grep version (grep --version)
Docker engine version ('docker --version`)
Docker compose version (docker compose version)
Thanks!

Hello @ezimuel!
Thanks for the prompt reply.
Can you give me the following information about your environment?

OS type and version
grep version (grep --version)
Docker engine version ('docker --version`)
Docker compose version (docker compose version)
Thanks!

They are listed at the bottom of the error log in my initial message.
However, I just upgraded both docker engine and docker compose to the latest versions and the problem got solved. Apologies for the early GitHub issue.
Thanks!

Sorry, I miss the information. No problem for the issue. Let me know if you need more help.


[Proposal] Making doris more friendly to new user and improving our Usability

Motivation
The main purpose of this proposal is to make doris more friendly to new users and improve ease of use. Although the current page of doris fe meets the functional requirements, the page is outdated and ugly, there are many style errors, and the web server ’s implementation is not elegant enough, static files and APIs are mixed together. And there is no function on the page that can be used by new users for simple trial. For example, it can submit some simple queries on the page, user and permission management, can import data by simply uploading small files such as csv, or import other database table through jdbc connection to try doris more easily, we can refer the phpMyadmin and implement the minimize function set
Implementation
So the following work om out web interface we need  to implement

we need web developers help us  beautify and modenlize the web pages and fix those style errors
implements a more elegant web apis
implements user and permission management  in web ui
implements import small data from other datasource(e.g.  csv, other db systems....)  in web ui
implements submit simple query and view tables  in web ui
implements config broker load job in web ui

It's a great work!


add metadata to docker image

labels
action for labels

labels added on https://github.com/gnzsnz/jupyter-quant/commit/ce53a338510554d0a946b63c56434c2954b8ccce, however labels are not recognized in the latest image build


Fix travis errors

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@54f2bc1). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #270   +/-   ##
=========================================
  Coverage          ?   52.77%
=========================================
  Files             ?      214
  Lines             ?     3007
  Branches          ?      469
=========================================
  Hits              ?     1587
  Misses            ?     1420
  Partials          ?        0

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 54f2bc1...c2e6487. Read the comment docs.


Clean files

Modifies Hospitals starter code to have a San Francisco map as base layer while user is able to place markers (currently still a hospital) on top.

Tested both MapView and TUIOMapViews currently work as intended


Breakpoint client state and UI not updated after hit when listening in the background

A breakpoint is set during a debug session, then the session is set to listen in the background. If the breakpoint is hit, the user is notified about it, but neither the UI representation of the breakpoint is updated to a disabled icon (empty blue circle), nor the local representation  of the breakpoint is changed, therefore if a user opens the breakpoint properties dialog, the Enabled checkmark will be set. If the user closes the dialog, the breakpoint will not be updated nor will it be registered at the backend.
The behavior should be: if the breakpoint is hit while the session was listening in the background, it should be shown as a disabled breakpoint, and re-enabling it should register it at the backend again.

@akerekes can this be closed now?

No, this is still an issue.


Change default checkpoint creation behavior

Turn off unix timestamping on checkpoints by default so that new users are not restarting the process every time they make a minor change

I think we're going to solve this in a different way. Stand by for a little while.

Yep I saw, feel free to close


Can't get the public_key from "/api/1/partner_accounts/public_key"

i got my public_key result at the api : "/api/1/partner_accounts"

but i got the return like this of the api: "/api/1/partner_accounts/public_key"

if i  use base URL: https://fleet-api.prd.na.vn.cloud.tesla.com
"/api/1/partner_accounts/public_key" returns like this ⬇

can‘t figure out which part was wrong.

Make sure you registered (POST) your public key to both https://fleet-api.prd.eu.vn.cloud.tesla.com/api/1/partner_accounts/public_key and https://fleet-api.prd.na.vn.cloud.tesla.com//api/1/partner_accounts/public_key.
You will get out of region errors even if the region is correct, if you did not do a registration.

I've successfully registered, but aren't  able to query the public_key. Using the syntax suggested  in the API docs:
curl --header 'Content-Type: application/json' \   --header "Authorization: Bearer $TESLA_API_TOKEN" \   'https://fleet-api.prd.na.vn.cloud.tesla.com/api/1/partner_accounts/public_key'
I get:
{"response":null,"error":"param is missing or the value is empty: domain","error_description":""}
If I include:
--data '{    "domain": "string"  }'
I get a  404 error.

`
I get:
{"response":null,"error":"param is missing or the value is empty: domain","error_description":""}
If I include:
--data '{    "domain": "string"  }'
I get a  404 error.

It's a GET request with domain in the query not the body.


Add Hyperapp

https://github.com/hyperapp/awesome-hyperapp
Hyperapp is a trending 1 KB JavaScript library for building frontend applications and should definitely be included as it has gained good traction.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

Each link description starts with an uppercase character and ends with a period.Example: - [AVA](…) - JavaScript test runner.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

@tobiasbueschel @sindresorhus Can we merge this?

Drop all the A / An prefixes in the descriptions.

@vitalets It's done. Anything else? :)

@JorgeBucaran  Invalid ping. Yes

Whoops. Sorry, about that.

@JorgeBucaran never mind!
btw, https://hyperapp.js.org has duplicate bottom links. Seems the first should be "View source code":

@vitalets One says: "read the code" and the other "read the docs" they are different, but look the same haha.

Whoops. it my turn to sorry %)

LGTM, ready when you are @sindresorhus :-)
And greetings from Bali 🌴 🏖

Includes a succinct description of the project/theme at the top of the readme. (Example)

Not done

@sindresorhus Done.


Fix caching behaviour of catalog main page

See https://github.com/abcd-j/data-catalog/issues/19

Fixed by https://github.com/datalad/datalad-catalog/pull/458


Filters seem to be broken for OpenChargeMap

Hm, no, they do work, and I couldn't reproduce the issue. Maybe it's something that only happens when switching between data sources.


feature(cluster): Better log handling (delegate to DSL)

Added test for log stream

Codecov Report

Merging #185 (cadc97b) into main (2fd6de5) will increase coverage by 0.51%.
The diff coverage is 27.90%.

@@             Coverage Diff              @@
##               main     #185      +/-   ##
============================================
+ Coverage     78.82%   79.33%   +0.51%
  Complexity      110      110
============================================
  Files            42       42
  Lines          2078     2110      +32
  Branches        298      313      +15
============================================
+ Hits           1638     1674      +36
+ Misses          312      298      -14
- Partials        128      138      +10

Impacted Files
Coverage Δ

...o/backend/api/resource/v1/DeploymentsResource.java
65.30% <0.00%> (ø)

...elroute/IntegrationDeploymentGeneratorService.java
44.26% <0.00%> (-14.44%)
:arrow_down:

...tor/kamelet/KameletDeploymentGeneratorService.java
64.44% <0.00%> (-1.47%)
:arrow_down:

...ployment/generator/DeploymentGeneratorService.java
100.00% <ø> (ø)

...elet/KameletBindingDeploymentGeneratorService.java
70.09% <33.33%> (-6.00%)
:arrow_down:

...va/io/kaoto/backend/deployment/ClusterService.java
75.73% <63.63%> (+22.40%)
:arrow_up:

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


Point to another generated file type?

I generated my typescript types in one file, but I want to generate these factories in a different file. Is it possible to add a config to define where to import these types from?
generates:
  ./src/testing/__generated__/factories.ts:
    plugins:
      - graphql-codegen-factories
    config:
      factoryName: create{Type}
  ./src/graphql/types/__generated__/type.ts:
    plugins:
      - typescript
    config:
      scalars:
        DateTime: string

Doing the above generates the functions fine, but TS complains because it can't find the type.

Thanks for reporting @vicky-carbon 🙌 I just published<EMAIL_ADDRESS>which adds config.typesPath for that purpose. Have a look at the documentation and the example.
Feel free to give it a try and let me know 😉

I finally got around to trying it. It works! Thank you.


suppressKeyEdit

I'm submitting a feature request
Current behavior
When you press any key from this list (https://www.ag-grid.com/javascript-grid-cell-editing/#start-editing), cell editing (in editable column) will start even if you do not want to.
Expected behavior
Ability to have complete control over how cell editing is started. When both suppressKeyEdit and suppressClickEdit are true, only mean how to start editing would be api.startEditingCell().
What is the motivation / use case for changing the behavior?
I can of course stop propagating all keys to grid except for whitelisted but that cut off users from using other firefox shortcuts like ctrl + 9 which focuses last tab. This is also related to unfixed bug from https://github.com/ceolter/ag-grid/issues/1497. When I press ctrl + 9, grid ignores ctrl modifier and start editing cell with value 9.
I also need suppressKeyEdit to make something like this (http://stackoverflow.com/questions/42175788/search-focus-as-you-type) work. I do not want to start editing and I only want to listen to keys pressed and act upon it.
Please tell us about your environment:
W7, Firefox 51.0.1., ag-grid v8.1.0

If you want full control on key interactions you can use Cell Editor Components https://www.ag-grid.com/javascript-grid-cell-editor
You can use the isCancelBeforeStart method to determine if editing should start or not

I have:
var stopEdit = (params.keyPress || params.charPress);
this.cancelBeforeStart = stopEdit;

in prototype.init.
It really prevents cell from being edited by pressing any of this keys (https://www.ag-grid.com/javascript-grid-cell-editing/#start-editing).
But the ctrl + 9 shortcut is consumed with it. It does not get through to firefox browser. It is consumed  because grid ignores modifier and read this shortcut only as a 9 and try to start editing cell. The result is the same as stopping propagation of all keys without whitelisted ones. User cannot use firefox shortcuts. Please, can you comment on this...

Any news here, please?


VS 2017 message box when opening XAML file: Visual Studio has encountered an unexpected error.

When I try to open a XAML file in VS 2017 on this particular machine, it won't open. If I double click the file in Solution Explorer, nothing at all happens. If I left-click and select Open, then this dialog box appears with the message "Visual Studio has encountered an unexpected error.", and that's all.
It happens with any XAML file in any project, and it only happens on this one machine. For this reason I don't see much use in supplying a repro, but I'll do that on request. I have another machine with what should be exactly the same setup, and there's no problem there. I also have other machines, and there's no problem with them either.
I am quite certain it used to work several weeks back, and I think the problem occurred now and then for some weeks, and now it's not possible at all to open XAML files.
Is this a problem with FsXaml, VS, F#, or ... ?
I do anticipate a reinstall of something will fix the problem, but first I'd rather contribute to fixing the bug if possible.
Known workarounds
I have to use VS 2015 or another machine to edit XAML.
Related information
FsXaml.Wpf 3.1.6 and 3.1.2
.NET Framework 4.5.2
Visual Studio 2017, v 15.2 (26430.14)
F# 4.0 (<IP_ADDRESS>)
F# Nightly builds <IP_ADDRESS>62201
Windows 10

@BentTranberg From what you're describing, I think this has to be a VS issue, not FsXaml. FsXaml doesn't interact with Visual Studio's editor in any manner whatsoever - it's only being used by the compiler and F# compiler services. I would suspect a VS extension, or some local corruption occurred, which is interfering with the XAML editor.


Change Slow Start to listen to End events

While I'm here, @Marty-D, does Slow Start display a message if it's active and the ability gets removed?

Nope, only if it ends normally after the 5 turns.

Hmmm, I wonder if you could write the volatile's onEnd to only display a message if it wears off normally.

For Slow Start, you could check if hasAbility('slowstart') in the effect's end.

Alternatively, you can delete the volatile and send a silent -end, which TI added support for just recently.

Oh yeah. Forgot about that!

Ok. Speaking of which, I can't verify it right now, but I don't see anything in the Client code right now that would display a message when Slow Start ends. Does it actually display a message when it ends normally?

Right you are, done in https://github.com/Zarel/Pokemon-Showdown-Client/commit/c4fe4237091f05e4dae9f79d309f65461c15bf1a!


mingw windres

I have done scoop install gcc (with this fix applied https://github.com/lukesampson/scoop/issues/4235#issuecomment-766168326 ), and running windres on command prompt or powershell gives The term 'windres' is not recognized ... error, even though gcc works.
How am I supposed to install windres? I have tried:

scoop install windres
scoop search windres
scoop search mingw
scoop install codeblocks-mingw
Googling "scoop" "windres"

cannot produce.
> (Get-Command windres).Path
C:\Users\HUMORCE\scoop\apps\gcc\current\bin\windres.exe
> windres -V
GNU windres (GNU Binutils) 2.35.1
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

MSYS2 is recommended to you.

This problem is mentioned in https://github.com/lukesampson/scoop/issues/4235#issuecomment-766168326 : "scoop does not seem to handle .zst decompression"


Plugin error messages

Make sure to show error messages when a plugin export fails. Shows the message next to the status, truncated if it's too long. On hover there's a tooltip with the entire message

How did you simulate an error?

I edited kap-giphy's index.js file in my node_modules and simply did throw new Error('message')

It looks a bit messy to show just part of the message. How about instead we just show a small info (i) icon after "Export Failed" and if the user hover over "Export Failed" or the icon, we show the full message?
// @skllcrn

That could work, but I honestly find seeing at least part of the message without having to hover anything to be better. The error should trigger a notification with the error message too.


openshift/v4_8_exp: set cipher for LUKS volumes if FIPS enabled

If openshift.fips is specified, add --cipher aes-cbc-essiv:sha256 to storage.luks.*.options unless a cipher is already specified in the options list.  The default cipher uses XTS, which isn't allowed by FIPS 140-2.
Fixes #198.  We key off of the openshift.fips field, rather than creating a new field shared with FCOS, since the former already exists and FCOS isn't likely to support FIPS.

Updated.