text:
Feature request: Support shipping mode 'multiple'

Support for shipping mode multiple
Deployment
My deployment is on:

AWS Lambda

Expected behaviour
The mollie extension creates mollie line items, one for each commercetools cart line item based on the corresponding lineItem.taxRate. Shipping mode multiple allows us to assign multiple shipping methods to different countries to each line item resulting in different tax rates. Thus, we may have to split the single cart line item to one mollie item for each shipping with the quantity assigned via lineItem.shippingDetails.target.
see function makeMollieLineCustom in createOrder.ts
Actual behaviour
Right now, the system always uses the customLine.taxRate (which may not be set)
export function makeMollieLineCustom(customLine: CTCustomLineItem, locale: string): OrderLine {
    const lineItem = {
        ...
        vatRate: (customLine.taxRate.amount * 100).toFixed(2),
        ...
    };
    ...
    return lineItem as OrderLine;
}

Attempted fixes
In our case, we have one shipping method per cart item with one shipping address for the whole cart. This means, we only need one mollie line item per cart line item, but the required tax rate is stored in customLine.perMethodTaxRate and therefore we only had to change the taxRateAmount calculation accordingly:
export function makeMollieLineCustom(customLine: CTCustomLineItem, locale: string): OrderLine {
    const taxRateAmount = customLine.taxRate?.amount
        ?? customLine.perMethodTaxRate?.find((taxRate) => typeof taxRate !== 'undefined')?.taxRate?.amount
        ?? (customLine.taxedPrice.totalTax.centAmount ?? 0) / (customLine.taxedPrice.totalNet.centAmount);

    const lineItem = {
        ...
        vatRate: (taxRateAmount * 100).toFixed(2),
        ...
    };
    ...
    return lineItem as OrderLine;
}

We encountered errors, where we assume that these are connected to the usage of shipping mode multiple as well:
We have a method that checks a cart for it's "completeness" - whether all relevant information is included.
We invoke the method when using triggerPayment as well as before converting the cart into an order.
We had cases where the method would find an incomplete cart after the payment process - though the cart was complete before the payment process was triggered.
That means cart data was changed in the payment process in a way that makes it "incomplete".
Looking at these carts, we assume that users changed their address data in Paypal. That then led to a cart update that does not work as expected (or not at all) with shipping mode multiple.
This is impossible to reproduce in staging, since the staging mollie-paypal page would not offer any address changes.
FYI @MWolosinShopmacher (correct me if I am wrong or add information if I am missing something)

authors: MWolosinShopmacher lnickel-bravobike

repo: mollie/commercetools


text:
[Bug] Mention User Overlay doesn't dismiss properly and stays on every screen sometimes.

I was checking out the example app provider by the team and when I try mentions feature there is unexpected behaviour from the overlay, it doesn't get closed properly ans stays through every screen.
It works fine when :

If I select any name from the list
If I type @abc then continue typing.

Fails when:

type @absc and press backspace , then overlay don't get dismised and there's this issue as in screenshot.
unexpectedly sometimes when writing mentioning names not in list or even names from the list (see video for ref )

To Reproduce
Steps to reproduce the behavior:

Compile example app.
go to mentions page
type @anyName not in user list and dismiss keyboard without inputting any other character.
or
@(any name not in list or even from list and then continue typing) , try multiple times (see the attached video for ref)

Expected behavior
Overlay should get dismissed when keyboard is dismissed and when no user is selected from the list typing is going on.
Screenshots

simulator screens

This happened a lot while testing (sometimes it happens and sometimes not)
https://user-images.githubusercontent.com/61776980/190411386-f4fe0dd5-4797-4725-96b6-7ced300b574a.mp4
Environment

OS: [e.g. Mac m1 pro 2021]
Device: [e.g. moto edge 20 fusion] | Emulator - pixel 4 a API 31
Language Version: [e.g 3.3.0]
Software/library Version [dash_chat_2 0.0.14]

Additional context
Suggestion - on mention callback should be called when trigger character is typed, so that we can show all user list.

I could not exactly reproduce it but I improved multiple things and pushed it to the main branch, can you try again using the main branch and let me know if it solved the issue?

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
No space after number in relativeTime for zh-cn and zh-tw

While using the relativeTime method, there is no spacing after the number for locales zh-cn and zh-tw
*zh-cn : https://github.com/moment/moment/blob/develop/src/locale/zh-cn.js#L81
zh-tw : https://github.com/moment/moment/blob/develop/src/locale/zh-tw.js#L79*
Examples: Chrome 50+on Windows 10, Internet Explorer 10+ on Windows 10

@ben-lin @hehachris @suupic @zenozeng ?

The code looks fine. It takes the entire argument including the unit, meaning 10天 is what you passed to the lib. @MananS77 do you have the actual code how you used it?

authors: MananS77 ben-lin marwahaha

repo: moment/moment


text:
2.25.1 has backward compatibility issues

we are experiencing backward compatibility issues with 2.25.1, when reverted to 2.24.0... it is good.

"export 'isMoment' (imported as 'moment') was not found in 'moment'

./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/node_modules/moment/src/lib/locale'

Duplicate of #5497

Also duplicate of https://github.com/moment/moment/issues/5506, https://github.com/moment/moment/issues/5507

This error occurs in moment 2.25.1:
Object.localMoment Uncaught error handled globally. TypeError: a is not a function
Temp solution: "moment": "2.24.0"

Let's be optimistic ;)
^2.24 <2.25 || ^2.26

2.25.2 will fix this, but it will also include all locales in the bundle, unless you explicitly say in your configuration that you don't want that.

authors: Karthik-Shanmugasundaram Mokette buffcode ichernev romanzipp sandfrozen


text:
Doing a dateOf() of moment(moment.utc().valueOf()) gets inconsistent results

Describe the bug
Currently I have a project where I need to get a Date Object of an UTC moment. I even exposed my doubt here because what should work really isn't.
Posting my doubts on StackOverflow (can be seen here) showed the following should work:
// this logs a Moment object
const date = moment(moment.utc().valueOf())

// This will output something like 2021-07-20T16:14:39.636Z
const dateObj = date.toDate()

console.log("UTC time: ", dateObj)

However, locally I'm not getting this result. I'm instead getting my locale time.
I tested this on CodePen and I got the same results as above on the code but on CodeSandbox I have the same results that locally
To Reproduce
Steps to reproduce the behavior:

Initialize a project with momentJS
Insert the code above
See the result retrieved and if it's coherent with what's expected

Expected behavior
Expected to log a Date object with UTC
Screenshots

Desktop (please complete the following information):

OS: iOS 11.2.3
Chrome
Version 91.0.4472.114 (Official Build) (arm64)

Moment-specific environment

GMT+1
Wed Jul 21 2021 13:43:03 GMT+0100 (Western European Summer Time)

Please run the following code in your environment and include the output:
Wed Jul 21 2021 13:44:46 GMT+0100 (Western European Summer Time)
21/07/2021, 13:44:46
-60
Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Mobile Safari/537.36
2.29.1

Thanks for opening this request.
I don't really understand what you are doing. Can you help me understand?
Let me walk through command by command.

moment.utc() --> makes a Moment object for right now, in UTC mode https://momentjs.com/docs/#/manipulating/utc/

.valueOf() ->  gets # of milliseconds since unix epoch https://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/ . by the way, this should work the same regardless of UTC mode

moment( ) -> makes a new moment object why do you do this? You already had a moment object.

const dateObj = date.toDate() -> gets date object from moment https://momentjs.com/docs/#/displaying/as-javascript-date/
https://momentjs.com/docs/#/displaying/as-javascript-date/

console.log("UTC time: ", dateObj) -> prints out date object. you are directly printing out the date object. why do you expect this to be in UTC time?

If you want to print the date object in UTC time, you can use dateObj.toUTCString() .
For example old code:
// this logs a Moment object
const date = moment(moment.utc().valueOf())

// This will output something like 2021-07-20T16:14:39.636Z
const dateObj = date.toDate()

console.log("UTC time: ", dateObj)
> UTC time:   Date Sat Aug 14 2021 13:38:08 GMT-0700 (Pacific Daylight Time)

New code:
// this logs a Moment object
const date = moment(moment.utc().valueOf())

// This will output something like 2021-07-20T16:14:39.636Z
const dateObj = date.toDate()

console.log("UTC time: ", dateObj.toUTCString())
> UTC time:  Sat, 14 Aug 2021 20:39:00 GMT

So I think the issues you are facing have to do with the way your browser prints out JavaScript Date objects. Fortunately you can use a date method like toUTCString() to get what you are looking for.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
I hope this answers your question!

@marwahaha , my issue here is that on different environments the same logic shows me different results. As you can see from my CodeSandbox and my StackOverflow question, the same method is logging different results and I'm not sure why this actually happens.
This issue filed here was intended to understand why this happens

The console.log(..., dateObj) prints the JavaScript Date object. That depends on how the browser decides to print the native JavaScript date (which doesn't have to do with Moment).
When you print an object there are many things that could be printed. So I recommend using a method to always print the same thing on all machines. For example, if you try my new code, does it give the same output everywhere?

authors: ItzaMi marwahaha


text:
Create link prediction scoring funcs utility file

Creating this issue as part of the conversation in #105.
TODO - Add Link Prediction Scoring functions to Utility Script

[x] Common Neighbors
[x] Jaccard’s Coefficient
[x] Adamic-Adar
[x] Preferential Attachment
[ ] See here for additional scoring functions worth considering, including:

Degree Product
Sorenson Similarity
Leicht-Holme-Newman Similarity
Shortest Path
Resource Allocation
Katz
SimRank
Rooted Page Rank

@vidarmehr - Does that cover everything?

@callahantiff Yes. Thank you, Tiffany!

@vidarmehr I will work on this over the weekend.

@callahantiff  I have created the branch linkprediction_functions in which I have implemented Degree Product score, Jaccard's score, Adamic adar's index and Common Neighbors's score in link_prediction_functions.py. I am going to add more unittests in test_link_prediction_functions.py  make a pull request and ask you to review the code. Thanks.

@callahantiff I have created the branch "linkprediction_functions" in which I have implemented Degree Product score, Jaccard's score, Adamic adar's index and Common Neighbors's score in link_prediction_functions.py. I am going to add more unittests in test_link_prediction_functions.py, make a pull request and ask you to review the code. Thanks.

Awesome @vidarmehr, that sounds fantastic!

Degree Product score, Jaccard's score, Adamic adar's index and Common Neighbors's score were implemented in the  link_prediction_functions.py. branch which was merged to develop. So, I close this issue.

authors: callahantiff vidarmehr


text:
[Merge] 'immunodeficiency without anhidrotic ectodermal dysplasia'

Mondo term (ID and Label)
MONDO:0010368 'immunodeficiency without anhidrotic ectodermal dysplasia'
Reason for deprecation
merged in OMIM
Merge with:
MONDO:0010386 'immunodeficiency 33'

@nicolevasilevsky looking at the x-ref, I realized that 'immunodeficiency 33' (MONDO:0010386) is both a "disease or disorder" and a "disease susceptibility"
The problem is that the reasoner makes this disease as subclass of "mycobacterial infectious disease", which is wrong.
Can you take a look and help me figure out what is going on? My specific questions are:

is it correct to have 'immunodeficiency 33' (MONDO:0010386) be both a disease and a susceptibility? (it makes sense intellectually, but not ontologically)

(maybe @matentzn and/or @cmungall can help with this) I don't understand how the reasoner makes 'immunodeficiency 33' a subclass of 'mycobacterial infectious disease' (see the red note in the following image):

is it that the reasoner "thinks" that the term has subclass annotations
"disease and disorder"
AND
"disease has 'infectious agent" some Mycobacteria"
EVEN THOUGH these subclasses are coming from different branches?

id33 is a disease or disorder (row 12-15)
id33 has infectious agent some M (row 3)
infectious disease = 1 AND 2 (row 16)

The questionable axiom is row 12 IMO.

I don't think a disease should be a proper disease and a susceptibility. I think the easiest thing would be to exclude the superclass 'X-linked Mendelian susceptibility to mycobacterial diseases' from 'immunodeficiency 33'. Looking at the OMIM record, I interpret this as an immunodeficiency disease that causes increased susceptibility to infections, but it seems like it is considered a disease itself.

I think this can be closed, yes?

No, this issue should not be closed yet. We still need to do the main work for this issue, which is term merge. I added to the merge list for a later release.

authors: matentzn nicolevasilevsky sabrinatoro

repo: monarch-initiative/mondo


text:
Ontobot can now read commands from issue comments

Fixes #7853
In the past, ontobot-change-agent only processed the text in the issue body to look for Hey ontobot, apply:.
With this PR, it not only does that but also looks for comments that have KGCL commands starting with the phrase above. The latest comment containing the command takes precedence.
The latest version of ontobot-change-agent (v0.4.12) is capable of doing so and the workflow update in this PR facilitates for the smooth transition to getting the new feature.
Update: Also installed ontobot-change-agent (a GitHub app) to run QCs. Fixes #7871

I do not know how to test this because I don't know how to an issue in the context of this specific branch.
I think we can just merge, and test after it is merged.

This PR can only be tested after merging it unfortunately.
How to test?

Open a new issue
Write anything in the body doesn't matter
Add this as comment after the issue is created

Hey Ontobot! apply:

- create narrow synonym 'Low-flow priapism(test)' for MONDO:0004745

This should trigger the workflow to generate a PR. The PR is generated under the name ontobot-change-agent and this should trigger QC workflows for this repository.
I have tested this in my fork to make sure the internet isn't wiped clean!

One way of testing this is:

Fork MONDO
Copy paste the workflow file into your fork's ontobot.yml file
Follow the instructions above.

I reviewed again and tested in Harshad's repo and all still looks good.

source: gharchive/pull-request

authors: hrshdhgd sabrinatoro twhetzel


text:
Detected as potential virus // trojan

1 or more files are detected as viruses in the .zip

Could you please be more specific?

PyInstaller binaries tend to be flagged as viruses by antivirus software. This is a false positive and is safe to ignore.
If you're paranoid, you could always run the Python file directly.

so the windows 64 exe does that?

i guess ill install python 2.0 and run the python version

Someone told me that on Windows 10 the .exe got blocked by the SmartScreen filter but didn't get any virus alert from Windows Defender.
Scanned the three ZIP releases with Kaspersky and all were clean.
Closing ticket.

authors: BlockTheVillager jerbear64 mondul

repo: mondul/HiyaCFW-Helper

license: Unlicense


text:
Add kovri channels to hangouts

https://getmonero.org/community/hangouts/

Shouldn't it be on kovri site?
Or will kovri site link to monero channels?

I'll PR something, but we'll have to wait for the multilanguage reimplementation to touch the hangout page itself.

+improvement
+in progress

+resolved

+resolved

authors: anonimal el00ruobuob erciccione

repo: monero-project/monero-site


text:
Create country_changes.txt

changes to supported countries
To add all missing country codes on Moneybookers/ Skrill integration

Hi @moneybookers 👋 Can I confirm that all 234 countries in Section 9.3 are supported and to be added? Thanks 🙂

Yes, all under ISO country codes table in section 9.3.

@staceytay Can you give us an ETA on the change?

Hi @moneybookers @stanistodorova, the supported countries have been added. Let us know if it's working to your liking 🙂

Hi @staceytay thanks for the quick action.
Where we can see the changes in the code?
Thanks,
Stani

And when this change will be live for the merchants? Currently, they are still not able to process for most of the countries.

authors: moneybookers staceytay stanistodorova


text:
uri encode the to path

This allows non-ascii target paths - such as Japanese or Korean.

🚢

authors: rpranata rsharrott


text:
Adding ability to add 'extraManifests'

All Submissions:

[X] Have you opened an Issue before filing this PR?
[X] Have you signed our CLA?
[X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[X] Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

Close issue https://github.com/mongodb/helm-charts/issues/213

Can a reviewer kindly review this?

cc @slaskawi @irajdeep

@slaskawi  Can you please review this one as well?

@JunaidChaudry Could you please check my comment and rebase this PR?

@slaskawi  Apologies for the VERY long delay.
I have rebased with main, and please also check out my comment around serviceaccount annotations, and why I think it should be there.

authors: JunaidChaudry igor-karpukhin slaskawi

repo: mongodb/helm-charts


text:
Make database operations throw more informative exceptions, and document them

It would be nice if the Morphia API can be enhanced so that database operations (e.g., insert, update, query) can be made to throw more informative exceptions when errors occur. This is so that an application can distinguish the different kinds of errors (e.g., mapping error, connection error, duplicate id error) and take more informed actions (e.g., should the query be retried?). Of course, this enhancement needs to be documented, preferably in the Javadocs. Thanks!

some examples of the ambiguities would be helpful

If you have specific examples, I'd be happy to discuss them.  Closing this for now.

authors: evanchooly yeefan

repo: mongodb/morphia


text:
unknown host mongrel2.org

Looks like the mongrel2.org site does not exist anymore ...
What happened?

The Domain expired.  I've sent an e-mail out to Zed to try and get it
transferred to me.
On 01:55 Fri 12 Jun     , z4nn wrote:

Looks like the mongrel2.org site does not exist anymore ...
What happened?
—
Reply to this email directly or [1]view it on GitHub.
References

https://github.com/zedshaw/mongrel2/issues/258

Zed transferred the domain to me and the site is alive so we're good now.

authors: jasom jkarneges z4nn

license_source: bigquery


text:
⚠ Quirk Club Argentina (API endpoint) has degraded performance

In 5ef1c2c, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 6276 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in 96ec1b0.


text:
⚠ Quirk Club Argentina (API endpoint) has degraded performance

In 2de8c54, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 8853 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in 6bf8af9 after 10 minutes.


text:
Revise Observable.mapParallelOrdered

Implementation is quite complicated and perhaps could be improved.
I would like to see benchmark vs Observable.mapParallelUnordered and then if replacing java.ConcurrentQueue with the one from jctools (LowLevelQueue) has any performance benefit.
Ideally we could also simplify implementation but I don't have anything on my mind yet

In both mapParallelUnordered and mapParallelOrdered we do f(elem).redeem(...).doOnCancel(...) and return Task[Unit].
I wonder if there is a performance difference if we just replace it with guaranteeCase.

@Avasil Will have a look at this one, thank you for the mention and sharing about the issue. You are the best

Now that we have created the benchmark, I am starting working on different queues.
Right now, I am working with SpmcArrayQueue.

@TapanVaishnav I would suggest LowLevelConcurrentQueue because available queue can be different depending on the platform. See LowLevelConcurrentQueueBuilders

I would suggest LowLevelConcurrentQueue because available queue can be different depending on the platform. See LowLevelConcurrentQueueBuilders

Yes, I checked this one but because this is a trait, I thought I'll start with someone already implemented(to get a hold of the problem)

See LowLevelConcurrentQueueBuilders

Okay, I'll have a look again on LowLevelConcurrentQueue family.
Thanks for the suggestion :)

It is used internally in AsyncQueue and ConcurrentQueue if you are looking for example

authors: Avasil TapanVaishnav

repo: monix/monix


text:
可以修改浏览器模式的默认浏览器吗

问题描述(必要)
首先感谢作者的辛勤付出，目前 mac 下唯一能用的百度加速下载了。。。其他的都失效了。
目前环境是这样，因为使用了 ssr+surge 控制代理，直接把规则写在了 surge 里面（就不用再下个扩展控制代理切换了），所以没法使用全网模式，不过也就下载百度盘的时候用这个，平时用 firefox+aria2（webui控制）解决普通文件下载，使用基本没问题。（主要这个 java 吃内存也有点太恐怖，看了下，日常1g内存占用，不想他常驻。）
但现在有点小个问题需要解决。使用 gui 模式的话貌似多桌面不能切换。
举个例子，我的 mac 分了三个虚拟桌面1、2、3，平时主打 Firefox 在桌面1，但是启动 proxyee 它会自动跳到桌面2，不知道咋回事，然后 dock 栏设置分配给1桌面，分配无或者分配所有桌面都无法实现一个功能就是点击 dock 栏跳出界面，必须右上角点击显示才会出现（这个应该跟 java 程序有关），我用得另一个 java 程序也是这样，。
GUI 模式下东西的时候基本就这个流程，百度盘点击下载，右上角图标显示，然后再去切换到桌面 x，（或者需要手动把 gui拖到比如我的桌面1，然后点击确定才可以）是不是有点蛋疼。
所以我想到的解决办法就是使用浏览器 UI，而且我觉得这样更方便啊，浏览器都一直开着的吧。点击下载，就自动弹出个新标签管理多方便。。。看了下，这个应该跟 aria2差不多，其实就是个 webui 来控制下载。
但我现在的痛点就是，我不用 safari 啊（主要是扩展太少，还有其他原因，最终选择了长久 firefox），来管理下载还要新开一个 safari 的进程，有点不爽啊。。。所以我想怎样可以设置使用默认浏览器打开这个 webui 控制界面呢？要怎么实现，还是要不作者加入这个选项功能？
版本号(必要)
2.44的版本，自己编译的，因为修改了菜单栏图标~~（原作有点太大了，在 mac 下比其他图标大了一丢丢，强迫症自己改了），另外自己封装了一个 app 用来启动，解决要命令输入 root 密码的痛点，现在配合 alfred 启动也很爽快，当然也可以开机自启。
操作系统(必要)
macOS 10.13.4
相关截图
相关日志
Bug 暂时没咋遇见，下载百度盘基本能跑满速，已经解决了最大的问题了。
再次感谢作者开发这么好的软件~~

①ui问题
浏览器ui模式显示会自动跳转到默认浏览器的
mac应该也是吧
你可以把火狐设置为默认浏览器，这样就可以webui来下载了
②内存占用问题
可以尝试在教程里OneDrive链接下载压缩包解压，内存已经被限制600M了（2.31版本-更新日志https://github.com/monkeyWie/proxyee-down/releases）
另外，封装的快速启动app很不错，可以建议作者添加这个功能

照理说，也肯定应该是调用默认浏览器的啊。
但是 mac 上就不行，只能调用 safari（因为是写的 java 跨平台的，估计作者没注意这点，反正 mac 上是不行的）。我主打 Firefox 肯定是默认浏览器的啊，当然默认设置成 chrome 也不行的，还是调用 safari。
封装的 app 挺简单的，其实就是一条自动输入的带 root 密码的脚本而已。

UI模式是浏览器的时候应该是调用系统默认浏览器打开的，估计是MAC上的问题。然后内存高的问题你可以在封装app的时候java命令行参数里指定最大堆内存。参考https://github.com/monkeyWie/proxyee-down/blob/master/start

刚刚在mac测试了下，设置了默认浏览器的话是默认调用默认浏览器打开的

感谢作者的回复，我这边刚才各种测试，肯定是默认浏览器设置了 Firefox 的，但还是会调用 Safari，设置默认成 Chrome，Opera 甚至 Vivaldi （平时要开发测试兼容性，浏览器比较多😄~~）都不行，总之只会调用 Safari。有点蒙圈，不知道是什么情况。
想了想，以为是代理的问题，把所有的代理软件关闭，还是不行。。。
又想了想是不是自己编译的问题，下了你的版本还是不行。。。~
暂时真想不出是为什么了。。。个案吗哈哈。。。
后续我再想想有可能是哪的问题吧，有啥情况随时报告~

可能是个案吧~~

这个软件真的很牛逼，下载速度比 Aria2 还快不少！特别喜欢！不过也是同样的问题，我这边 mac 上的默认浏览器是 Chrome，使用浏览器方式打开还是直接就到 Safari 了

这是怎么原因呢？

repo: monkeyWie/proxyee-down


text:
Xamarin.Forms project build error with CocosSharp.Forms library

By adding CocosSharp.Forms nuget package to PCL Project and Droid project I got following error:
'Resource.String' does not contain a definition for `ApplicationName'
'Resource.String' does not contain a definition for `Hello'

I workaround this by deleting the following two lines of codes in Resource.Designer.cs:
    global::CocosSharp.Forms.Android.Resource.String.ApplicationName = global::CocosSharpDemo.Droid.Resource.String.ApplicationName;
    global::CocosSharp.Forms.Android.Resource.String.Hello = global::CocosSharpDemo.Droid.Resource.String.Hello;

But why are these codes added automatically, are these codes necessary?

just add to your project file strings.xml contains :

igs.tangkas.Droid
Hello

On Tue, Jan 17, 2017 at 10:02 AM, Xuchen.Xia notifications@github.com
wrote:

By adding CocosSharp.Forms nuget package to PCL Project and Droid project
I got following error:
'Resource.String' does not contain a definition for ApplicationName' 'Resource.String' does not contain a definition for Hello'
I workaround this by deleting the following two lines of codes in
Resource.Designer.cs:
global::CocosSharp.Forms.Android.Resource.String.ApplicationName = global::CocosSharpDemo.Droid.Resource.String.ApplicationName;
global::CocosSharp.Forms.Android.Resource.String.Hello = global::CocosSharpDemo.Droid.Resource.String.Hello;

But why are these codes added automatically, are these codes necessary?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mono/CocosSharp/issues/408, or mute the thread
https://github.com/notifications/unsubscribe-auth/AMW4MlqrI_TWfBHk4mR8DXZ23eR9LGriks5rTC82gaJpZM4LlLg-
.

I am getting the same issue:
Warning XA0106: Skipping MusicTrainer2.Droid.Resource.String.ApplicationName. Please check that your Nuget Package versions are compatible
Warning XA0106: Skipping MusicTrainer2.Droid.Resource.String.Hello. Please check that your Nuget Package versions are compatible.
My Resource.Designer.cs file does not reference either one of these strings. I have cleaned and rebuilt.  I have added the strings:

applicationName
Hello

With no improvement.  Any idea what I can try next?
Many thanks
Edward

authors: EdwardCaulfield elvisxia haryck

repo: mono/CocosSharp

license: mit


text:
No support for different screen orientations

Hello,
in the current version of CocosSharp it is impossible to support landscape and portrait mode. Is this behaviour intended? This feature is really neccessary, especially if you develop board games.
Additional info:
The setter of CCDrawManager.SupportedDisplayOrientations is never called.
The supported display orientations are only set on the construction of CCDrawManager with the value of CCApplication.PlatformSupportedOrientations()
Related issue: https://github.com/mono/CocosSharp/issues/25

Hi,
PlatformSupportedOrientations will fetch the allowed orientations that have been set externally by the user. So for instance, on iOS, you would set your desired orientations within the Info.plist and these will then be set when initialising the CCDrawManager.

Closing for now as I'm unable to replicate this issue.

authors: hig-ag rtabbara


text:
int* parameters as ref IntPtr

I am having troubles with getting bindings to take handle int* parameters as ref IntPtr.  Any suggestions?
I have read through the manuals, but I have to admit I am a bit lost.  There is a large number of functions with the same logic as below so this would be a big help.
From the header file the signature looks like this.  Focusing on the second argument of this function...
int EIB7Open(unsigned long ip, int *eib, long timeout, char *ident, unsigned long len);
The binding looks like this
public static global::EIB7.EIB7ERR EIB7Open(uint ip, ref int eib, int timeout, sbyte* ident, uint len)
{
    fixed (int* __eib1 = &eib)
    {
        var __arg1 = __eib1;
        var __ret = __Internal.EIB7Open(ip, __arg1, timeout, ident, len);
        return __ret;
    }
}

[SuppressUnmanagedCodeSecurity]
[DllImport("EIB7", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,EntryPoint="EIB7Open")]
internal static extern global::EIB7.EIB7ERR EIB7Open(uint ip, int* eib, int timeout, sbyte* ident, uint len);

My c++ library is giving me back an error, "Invalid Handle".  However if I change the above generated bindings to the below it works.
public static global::EIB7.EIB7ERR EIB7Open(uint ip, ref IntPtr eib, int timeout, sbyte* ident, uint len)
{
     var __ret = __Internal.EIB7Open(ip, ref eib, timeout, ident, len);
     return __ret;
}

[SuppressUnmanagedCodeSecurity]
[DllImport("EIB7", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="EIB7Open")]
internal static extern global::EIB7.EIB7ERR EIB7Open(uint ip, ref IntPtr eib, int timeout, sbyte* ident, uint len);

@jbhunter52 thank you for your report. It's quite puzzling because this functionality is deliberate and tested. Would you be able to reproduce it in our tests?

@jbhunter52 Are the other parameters after eib correct, even when you get Invalid handle? I wonder if its a 32/64-bit issue.
Even if IntPtr is working for you in this particular case, I don't think it would be the most correct binding, because it size changes depending on 32-bit/64-bit runtime, while int in C++ is always 32-bit (see https://en.cppreference.com/w/cpp/language/types).

ddobrev, I am not sure I understand what functionality is deliberate, the use of "ref int"?  What should I try to reproduce?
tritao, I am compiling the c# code as AnyCpu.  I do have access to a 32 and 64-bit compiled library.  So far I have only been using the 32-bit library.

@jbhunter52 I meant that our representation of primitive pointers (int* in this case) as ref int isn't accidental but deliberate. For reproduction I was thinking about adding our function inn our test headers and then call it from our unit tests to see if you get the same incorrect behaviour.

It would help if you can put a breakpoint in the native function, and see what gets passed by CppSharp to the native side in the ref parameter.

Unfortunately I only have the headers, so I could not debug the native side.
I have switched to the 64-bit library and reverted back to the previous code (bindings as generated) and it is working.  I am not having any problems now, no Invalid Handle error.  I am not sure I completely understood the issue, but glad to see this working.  I am making small strides understanding how to work between the unmanaged/managed code.  And this project has been a big help.  Thanks!
If I can figure out what exactly was going on I will report back.

By the way, are you are using the same generated binding for both the 32-bit and 64-bit?
If so that is not recommended as it can cause problems, you should generate separate versions, changing the target triple passed to CppSharp.

authors: ddobrev jbhunter52 tritao

repo: mono/CppSharp


text:
[BUG] DrawText - Slow Performance

Description
We're calling "Canvas.DrawText()" on a full-screen GL SKSurface (so it is accelerated).  Everything in Skia that we are doing with this Canvas is lightning fast EXCEPT for DrawText calls.
We're trying to render about 100 double-stamped 5-character texts on the screen per Frame, and aiming for a Frame rate of 60 FPS (glass-smooth).    But on our lower-end Android devices, Skia can only render these "5-char text labels" at about 5-per-msec, which means 100 of them takes up 20 msec all by itself, limiting FPS to 50 FPS all by itself.  Plus we have 10 msec of other work to be done, now limiting us to 30 FPS.
Our "5-char-text-labels" are slow-changing (meaning that for each label we render the same text many many frames in a row).
We've tried "Paint.GetTextPath" to capture it for this text, and then use Canvas.Translate() to move it about as the virtual camera is panned.    But "Canvas.DrawPath()" for this text-path is even slower.
===
Is there a way to make DrawText run at least 5x faster (for slow-changing short labels) ??
A workaround that we haven't tested yet is to implement a using a large shared SKImage "atlas" where we pre-render each label to this atlas image, and then to quick-render the Label, we would then use "Canvas.DrawImage()" cropping the source rectangle to the block that contains the desired label text.
We were hoping to avoid this type of workaround.
Code
skCanvas.DrawText("5Char", x, y, paint);  // Called 200 times per frame, at 60 FPS - so 12K/sec.

It currently only allows us to call it at 10K/sec...   And we have MORE to do, besides print text.
Expected Behavior
Expecting (hoping) skCanvas.DrawText("5Char") to perform 5x faster.
Actual Behavior
Renders only 10K/sec max..   We need it to render 50K/sec  (5x faster).
Version of SkiaSharp
2.88.3 (Current)
Last Known Good Version of SkiaSharp
Other (Please indicate in the description)
IDE / Editor
Visual Studio (Windows)
Platform / Operating System
Android
Platform / Operating System Version
Android 12 is the specific test device.
Devices
Generic Android 12 device.
Relevant Screenshots
No response
Relevant Log Output
No response
Code of Conduct

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

make an SKTextBlob with this text once in a app and then use it to call DrawText. should work faster

repo: mono/SkiaSharp


text:
Reversed arrow position issue

@freakone please update to the latest version and see if this is still happening

@shentao still the same. I assume that there is some css conflict.

Yes, this might be it! Please double check your styles, as also list elements are larger than they supposed to be. I will change the inherit values to fixed ones later.

@shentao: see .multiselect__select:before and .multiselect__select:active. My input height is smaller, and arrow positions are fixed. I think they should be relative to input box.

Hmm. So you’re changing the height of the select input right? That might cause this problem. Will think about how to fix this!

authors: freakone shentao

repo: monterail/vue-multiselect


text:
node-gyp warning0

What version?
0.22.0
Which command?
proto install node lts-iron
What happened?
[ WARN 2023-11-09 09:12:35] proto_core::tool:install  Unable to symlink binary, source file does not exist  tool="npm" source="/Users/ImBIOS/.proto/tools/npm/10.1.0/bin/node-gyp-bin/node-gyp" target="/Users/ImBIOS/.proto/bin/node-gyp"

Any logs?
No response
Operating system?
MacOS
Architecture?
Arm64

This is actually a bug in npm: https://github.com/npm/cli/pull/6942
They forgot to include the node-gyp binary in a handful of versions.

/**
*Submitted for verification at Etherscan.io on 2017-12-12
*/
// Copyright (C) 2015, 2016, 2017 Dapphub
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see http://www.gnu.org/licenses/.
pragma solidity ^0.4.18;
contract WETH9 {
string public name     = "Wrapped Ether";
string public symbol   = "WETH";
uint8  public decimals = 18;
event  Approval(address indexed src, address indexed guy, uint wad);
event  Transfer(address indexed src, address indexed dst, uint wad);
event  Deposit(address indexed dst, uint wad);
event  Withdrawal(address indexed src, uint wad);

mapping (address => uint)                       public  balanceOf;
mapping (address => mapping (address => uint))  public  allowance;

function() public payable {
    deposit();
}
function deposit() public payable {
    balanceOf[msg.sender] += msg.value;
    Deposit(msg.sender, msg.value);
}
function withdraw(uint wad) public {
    require(balanceOf[msg.sender] >= wad);
    balanceOf[msg.sender] -= wad;
    msg.sender.transfer(wad);
    Withdrawal(msg.sender, wad);
}

function totalSupply() public view returns (uint) {
    return this.balance;
}

function approve(address guy, uint wad) public returns (bool) {
    allowance[msg.sender][guy] = wad;
    Approval(msg.sender, guy, wad);
    return true;
}

function transfer(address dst, uint wad) public returns (bool) {
    return transferFrom(msg.sender, dst, wad);
}

function transferFrom(address src, address dst, uint wad)
    public
    returns (bool)
{
    require(balanceOf[src] >= wad);

    if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
        require(allowance[src][msg.sender] >= wad);
        allowance[src][msg.sender] -= wad;
    }

    balanceOf[src] -= wad;
    balanceOf[dst] += wad;

    Transfer(src, dst, wad);

    return true;
}

}
/*
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
                        Preamble

The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
                   TERMS AND CONDITIONS

Definitions.

"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

Source Code.

The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.

Basic Permissions.

All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

Protecting Users' Legal Rights From Anti-Circumvention Law.

No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

Conveying Verbatim Copies.

You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.

b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7.  This requirement modifies the requirement in section 4 to
"keep intact all notices".

c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy.  This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged.  This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.

d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.

A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.

b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.

c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source.  This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.

d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge.  You need not require recipients to copy the
Corresponding Source along with the object code.  If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source.  Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.

e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.

A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

Additional Terms.

"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or

b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or

c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or

d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or

e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or

f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.

All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

Termination.

You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

Patents.

A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

No Surrender of Others' Freedom.

If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

Revised Versions of this License.

The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

Disclaimer of Warranty.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Limitation of Liability.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

Interpretation of Sections 15 and 16.

If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
                 END OF TERMS AND CONDITIONS

        How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year>  <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program>  Copyright (C) <year>  <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands show w' and show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
http://www.gnu.org/licenses/.
The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
http://www.gnu.org/philosophy/why-not-lgpl.html.
*/

Gonna close this as I think enough time has passed in npm releases.

authors: ImBIOS christianlantin milesj

repo: moonrepo/proto


text:
EPIPE Error

Hi, I added own youtube links to queue.txt
After run this bot its connected on the channel, but with EPIPE error. When I added back your deafult youtube links there, it worked without this error. What do i have to do to make it work? Thanks
Error: write EPIPE
at afterWriteDispatched (node:internal/stream_base_commons:164:15)
at writeGeneric (node:internal/stream_base_commons:155:3)
at Socket._writeGeneric (node:net:795:11)
at Socket._write (node:net:807:8)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Socket.Writable.write (node:internal/streams/writable:334:10)
at PassThrough.ondata (node:internal/streams/readable:754:22)
at PassThrough.emit (node:events:390:28)
at PassThrough.Readable.read (node:internal/streams/readable:527:10) {
errno: -4047,
code: 'EPIPE',
syscall: 'write'

Hey there, can you post here one of the links that gives out the error?

Hey you can try with theese links
https://www.youtube.com/watch?v=M_HCA7G9qUQ
https://www.youtube.com/watch?v=8epnimI2gK0
https://www.youtube.com/watch?v=JnUe_t5Gn1s

Hey, so I just tried it out myself and they really didn't work. I suspect it's got something to do with the audio formats being chosen, since I downloaded the first video myself with an opus codec and it worked with that instead of the m4a one that the bot seems to be choosing.
I'm gonna see if I can find a way to filter the formats properly to get an opus one whenever possible.
I also see that a related issue is open in the repo of the package I use: https://github.com/fent/node-ytdl-core/issues/816
For now, try looking for an alternative link to the video or download it using something like a "youtube to mp3" service put them in the data/local-music folder.

I am also running into this error. I assume it has to do with the bot choosing the m4a codec opposed to the opus. It seems to do it for most of my songs as well.
Any update on the fix?
Besides that, thank you for this bot. It's a great addition to the server.

I'm gonna try to see if I can find a way to specify what codec to use for the youtube audio.
For now try looking for another link for the same song or try downloading the song and place it in the local music folder.

I am also running into this error. I assume it has to do with the bot choosing the m4a codec opposed to the opus. It seems to do it for most of my songs as well.
Any update on the fix?
Besides that, thank you for this bot. It's a g

 EPIPE Error

authors: DaleJV moonstar-x thebossleader


text:
Query API docs should not be distinct from Analytics docs

The Query API just provides API access to Moonstream Analytics, I believe they belong on the same page.

good point, will make that change

done

authors: Nadria zomglings

repo: moonstream-to/docs


text:
Merge pull request #2 from moonyoung1814/master

修改

修改

修改


text:
🛑 plex server is down

In 82681dc, plex server ($PLEX_URL/identity) was down:

HTTP code: 0
Response time: 0 ms

Resolved: plex server is back up in 8c2025e after 10 minutes.

repo: mooseburgr/kmj-wtf-upptime


text:
Better wrap text output in textarea for webui

Enable better wrapping for the output textarea to ensure no auto-wrapping occurs, which makes the "human readable" output much harder to read without copy/pasting the text into another editor

Thanks for the fix!

authors: adamdecaf nickyost

repo: moov-io/ach


text:
filetransfers: FI's require FileHeader modification on upload

What were you trying to do?
There's an FI that seems to require setting ImmediateOrigin to 0000000000 prior to upload otherwise the file will be rejected. The problem is paygate needs this value to be properly set so it can merge transfers until it uploads each file.
What did you expect to see?
Uploads should "just work" with every ODFI.

Solved with the Gateway config.

repo: moov-io/paygate


text:
fix: 🐛 correctly use default value

✅ Closes: #560
Thanks @lebalz

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:

repo: morintd/prismock


text:
Cherry-pick HDF5 code from morphocluster-sd-extension-run

[ ] tests added
[ ] all tests pass
[ ] documentation
[ ] AUTHORS entry
[ ] Changelog entry

📚 Documentation preview 📚: https://morphocut--117.org.readthedocs.build/en/117/

3.9 is actually still supported. The commit message is wrong.

repo: morphocut/morphocut


text:
Remove redundant key column

The Key (or __Key__) column is fully redundant. EFCore has easy ways to find out which of the data columns are part of the primary key (through entityType.GetKeys().First(k => k.IsPrimaryKey).GetProperties(). This is especially important for CSV where some legacy formats might expect an exact set of available columns.
I have this change fully implemented and can provide it as soon as #5 is merged (as it relies on some changes that I made there)

Hi.
Good idea. I already wanted to do this, but it was a bit complicated because i also wanted to support composite keys. I implemented it and will publish the new version soon.
Thank you

authors: dfyx morrisjdev

repo: morrisjdev/FileContextCore


text:
Вопросы по переводу

Здесь я буду размещать слова, по которым возникли вопросы по переводу.

parent / child (children) == родительский / дочерний (потомок?)
predicate == предикат.
custom == собственный
test case / test suite == тестовый случай / тестовый набор.
eval / evaluate == выполнять
string / line == строка / строчка
#359 #362 #364 #365 #367

[x] task и job
[ ] parent / child (children) == родительский / дочерний (потомок?)
[ ] predicate == предикат.
[ ] custom == собственный
[ ] test case / test suite == тестовый случай / тестовый набор.
[ ] eval / evaluate == выполнять
[ ] string / line == строка / строчка
[ ] исправить в asset_pipeline.md <-- "веб сервер".

#359 #362 #364 #365 #367

@Mik-die, мне по прежнему не особо нравится "custom == собственный" м.б. использовать кастомный или https://www.lingvolive.com/ru-ru/community/posts/39319, м?
Кастомный очень часто встречается в речи) и это понятный жаргонизм, как считаешь?

Я воспринимаю слово кастомный как настраиваемый, это не всегда подходит по контексту. В общем, слово custom нельзя однозначно перевести, очень важен контекст

как все сложно :/

@Mik-die
Я везде проверяю-изменяю section как разделы (кое-где изменил ранее на секции, что неправильно, исправляю).
Еще вопрос, вот допустим есть текст:

You can use these tags in layouts or other views, although the auto_discovery_link_tag, javascript_include_tag, and stylesheet_link_tag, are most commonly used in the  section of a layout.

И вот  section - это область или секция?

В layout-ах это тоже переводится как раздел http://htmlbook.ru/html/section

С разделом в html разобрались, а что делать  с сconfig/database.yml?

Да пускай и там будут разделы

@Mik-die как на счет того, чтобы сделать следующее:
экшн/экшне => экшен/экшене
продакшн/продакшне => продакшен/продакшене
и другие похожие слова с "кшн"
?

Показаны результаты по запросу продакшн
Искать вместо этого продакшен

Понял, просто "экшне" слух режет.

Как правильно, "пул реквест" или "пул-реквест"? Почему через дефис используется, откуда он вообще взялся, понять не могу.

Вопрос, как перевести "upgrade и update" НЕ в контексте экшнов?

Попробовал перевод custom поисправлять, слишком сложно, думать надо.
Например,

Некоторые типы, такие как decimal, принимают произвольные опции.
Some types such as decimal accept custom options.

Added an :authenticity_token option to form_tag for custom handling or to omit the token by passing :authenticity_token => false.
Добавлена опция :authenticity_token к form_tag для ручного управления, или для отмены, если передать :authenticity_token => false.

т.е. если заменить на собственные, то намного непонятнее становится.

eval/evaluate/evaluation - выполнения/вычисление?
https://ru.wikipedia.org/wiki/Ленивые_вычисления

вычисление

пул-реквест - по правилам русского, если два существительных образуют одно слово, пишутся через дефис (сапоги-скороходы, жар-птица и тп)

Согласен с обновление и апгрейд

Встречается в гайдах такой перевод:
engine-ы, engine-е.
Мб поудалять эти склонение?

Если склонение явно понятно из контекста - то лучше да, удалить. Я старался добавлять это окончание, где была неоднозначность

@Mik-die
Как насчет такого?
feature/bug - фича/баг вместо особенность/ошибка
Особенность - это непонятно вообще о чем.

Я уже как-то поднимал вопрос по поводу перевода слова "serve", и почитав другие руководства - правильнее будет так:
serve - служить (служат)
serving - обслуживать

The Institute of Electrical and Electronics Engineers defines the term feature in IEEE 829 as "A distinguishing characteristic of a software item (e.g., performance, portability, or functionality)."

то есть feature - это отличительная особенность.
Мне поначалу было по-приколу вставлять жаргонизмы (вьюхи, экшны и т.п.) - но сейчас это уже не кажется хорошей идеей. Взрослею, наверное :)
Bug - https://ru.wikipedia.org/wiki/Программная_ошибка

In computing, the term "issue" is a unit of work to accomplish an improvement in a system. An issue could be a bug, a requested feature, task, missing documentation, and so forth.

Даже не знаю, какой термин подобрать, "проблема" достаточно точно описывает.
Цитаты их английской вики

Ок, пока только фича как отличительная особенность вызывает отторжение.
Ну, а вьюха — это святое, даже не предложил бы заменить.

ну ок, давай дословно тогда

Ок, так какой перевод sensitive выбрать?

чувствительная

Добрый день,
нашел грамматическую ошибку в переводе:
https://monosnap.com/file/WLdAzo1GxTnncQlmT3HGHQ17o6PBaS
не знаю, куда написать, решил сюда.

authors: Mik-die reabiliti ydakuka

repo: morsbox/rusrails


text:
Add CTM

We need to have an explicit comparison against CTM

nope

repo: mortonjt/catvae


text:
🛑 Bama is down

In da79bb2, Bama (https://bama.design) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bama is back up in a69739f after 1 minute.

repo: mortonpepper/upptime-upptime


text:
Refactor multiple losses to support dictionaries and fix discrepancies

Addresses #1331 request to be able to train on a dictionary of losses.
The issue came from self.state.loss = cast(torch.Tensor, self.state.scaler.scale(self.state.loss)). If GradScaler.scale takes in a dictionary, it will output a map object that cannot be properly parsed by ensure_tuple.
A quick fix would be to use map_collection(self.state.loss, self.state.scaler.scale), but @abhi-mosaic recommended adding the multiple losses before the loss scaling for numeric stability. I noticed there were some inconsistencies with the order of operation when deepspeed is turned off/on, so I refactored to make it consistent. Specifically:
Without deepspeed:

Scale by grad accum
Add to total loss
AFTER_LOSS and BEFORE_BACKWARD events
GradScaler
Sum losses
Backward

With deepspeed:

AFTER_LOSS and BEFORE_BACKWARD events
GradScaler
Scale by grad accum (within deepspeed backwards)
Backward
Add to total loss

So self.state.loss may or may not be scaled by grad_accum at AFTER_LOSS and BEFORE_BACKWARD events depending on deepspeed. Also, loss isn't summed before deepspeed, so not sure if multiple losses would work with deepspeed.
New order:

AFTER_LOSS and BEFORE_BACKWARD events
Sum losses
Add grad accum scaled loss to total loss (does not inplace change loss)
GradScaler
Scale loss by grad accum (either manually or through deepspeed)
Backward

Let me know if none of this makes sense!
TODO:

[x] Resolve comments
[x] Test loss dictionary
[x] Test loss grad accum scaling
[x] BERT Convergence
[ ] DeepLabv3+ Convergence

Edit:

I also changed the DeepLabv3+ loss to output dictionaries instead of tuples

Also almost forgot but super glad that we can pass loss dictionaries now! I can see a lot of VAE and diffusion style models benefitting from this.

Yeah, I definitely want to do convergence runs as well, but there is a big compute crunch that would delay getting results by 1-2 days. That's probably for the best though

@ravi-mosaicml I believe TestTrainerEquivalence.test_grad_accum checks if the model with/without grad accum is the same, so that should make sure grad accum is working as expected. Let me know if this isn't right
@ravi-mosaicml I added a test to check that a model trained with an equivalent dict loss results in the same model. Let me know if it should be reorganized though :).
I'll do quick convergence runs next!

BERT train loss after 1000 steps:

Deeplabv3+ training loss (a lot noisier so not as clear):

authors: Landanjs abhi-mosaic

repo: mosaicml/composer


text:
Autolog hparams

What does this PR do?
automatically extracts and recursively logs all hyperparameters passed to Trainer
Manual test:
transform = transforms.Compose([transforms.ToTensor()])
train_set = datasets.MNIST("data", train=True, download=True, transform=transform)
val_set = datasets.MNIST("data", train=False, download=True, transform=transform)
train_dataloader = DataLoader(train_set, batch_size=128)
eval_dataloader = DataLoader(val_set, batch_size=64)
model=mnist_model(num_classes=10)

trainer = Trainer(
    model=model,
    train_dataloader=train_dataloader,
    eval_dataloader=eval_dataloader,
    max_duration="3ep",
    train_subset_num_batches=4,
    optimizers=[Adam(model.parameters(), eps=1e-3)],
    progress_bar=False,
    log_traces=False,
    log_to_console=True,
    console_log_interval='1ep',
    auto_log_hparams=True,
    algorithms=[ChannelsLast(), ColOut(), BlurPool()],
    callbacks=[SpeedMonitor(), MemoryMonitor(), ImageVisualizer()],
    loggers=[WandBLogger()],
)
trainer.fit()

manual test result
What issue(s) does this change relate to?
fixes CO-586
Before submitting

[x] Have you read the contributor guidelines?
[ ] Is this change a documentation change or typo fix? If so, skip the rest of this checklist.
[x] Was this change discussed/approved in a GitHub issue first? It is much more likely to be merged if so.
[ ] Did you update any related docs and document your change?
[x] Did you update any related tests and add any new tests related to your change? (see testing)
[x] Did you run the tests locally to make sure they pass?
[x] Did you run pre-commit on your change? (see the pre-commit section of prerequisites)

I think this may require a design discussion. As implemented, it is pretty fragile and (I think) likely to crash. I tried it on a random test, and it crashed with recursion error (I think) because model has logger which has state which has model, creating an infinite loop.
A couple other things:

In the manual test linked, there are many key: value pairs that are null: None or null: null.
Why do you need to add self.local_hparams to some stuff? A user wouldn't know they need to implement for their code, so I'd prefer a design that doesn't necessitate that.

What do you think/is there a way to maybe make this less aggressively recursive and more robust? Basically, my code should never crash because I turned on auto_log_hparams, and I think I would need a lot more tests to prove that the current implementation is robust to many situations.

Ok let's discuss this offline


text:
Add support for downloading from dbfs

Description of changes:
Add support for uploading data to and downloading data from Databricks File System (DBFS)
Issue #, if available:

Merge Checklist:
Put an x without space in the boxes that apply. If you are unsure about any checklist, please don't hesitate to ask. We are here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[ ] I have read the contributor guidelines
[ ] This is a documentation change or typo fix. If so, skip the rest of this checklist.
[ ] I certify that the changes I am introducing will be backward compatible, and I have discussed concerns about this, if any, with the MosaicML team.
[ ] I have updated any necessary documentation, including README and API docs (if appropriate).

Tests

[ ] I ran pre-commit on my change. (check out the pre-commit section of prerequisites)
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate).
[ ] I ran the tests locally to make sure it pass. (check out testing)
[ ] I have added unit and/or integration tests as appropriate to ensure backward compatibility of the changes.

Thanks for doing this. Few minor comments:

How does the dbfs authentication happens? I think it might be related to the UC Volume PR that you have created ?

I added some details to the docs; users will set DATABRICKS_HOST and DATABRICKS_TOKEN.

Can you also add the similar functionality in upload.py which basically uploads the shard files in UC during dataset conversion? You can look at PR 311 and 265 for reference.

Done

Can you also add a unit test for the same in test_download.py and test_upload.py ?

Done

Can you also update the documentation with UC Volume section on how user would provide a credentials ?

Done

Thanks!

For CI test failure, you can change this line to "[all]" which will install all the extra dependency packages.

Done

For the lint failure, Can you please add the below lines in this file ? I have verified it and now the lint will pass.
# Disable checks for missing imports, as a conditional install of streaming will not include them
# Any incorrect imports will be discovered through test cases
reportMissingImports="none"

repo: mosaicml/streaming


text:
proposal: 一种更简单的管理“新手任务”的方法

背景
现在每次做运营活动、需要整理“新手任务”的时候，要手动把 issue 录入任务列表 https://github.com/mosn/layotto/issues/108 ，有以下缺点：

比较麻烦
不好管理进度，比如issue明明完成了，但是任务列表里忘记打勾了。

因此想换一种更简单的方式管理社区任务
方案
点击链接可以查看所有“待认领”的“新手任务": https://github.com/mosn/layotto/issues?q=is%3Aissue+is%3Aopen+label%3A"good+first+issue"+no%3Aassignee
解释：

在 issue 上打 label, 凡是带有 "good first issue" label的 issue，都视为“适合新手认领的任务”；

如果没有 assignee ,代表“待认领”；如果有 assignee 代表”已有人认领“:

关于任务分类:
issue 需要打 label "kind/xxx",  其中xxx代表任务的分类。比如 "kind/ci" 代表分类是 "ci" ：

比如 "kind/demo" 代表分类是 "demo" ：

关于任务难度
issue 需要打一些代表难度的 label，包括 "easy","medium","hard", 如下图:

发运营活动时，”任务名“写中文还是英文？
如果 issue 的标题里有中文，任务名就用中文名；没有中文名的话就发英文名
比如：

做活动、发任务时候的建议
可以每类任务挑选1--2个任务发，比如 demo 类的挑两个， ci 类的挑 1个（感觉 ci 类的 issue，认领的人会少一些？）
Future work
以后如果有需要 可以弄一个页面，更友好的展示社区任务

cc @ZLBer  @wangxingyu000 @Kelei0215

repo: mosn/layotto


text:
FluidSimulation3D example: fix bug, and change header guards

Hi @mosra,
I did some changes for the FluidSimulation example:

Fixed a bug: the particle color cannot be changed.
Fixed a bug: the light direction cannot be changed.
I changed header guards of the *.h files, adding example name. This is necessary if we have different examples having files with the same file names.
Fixed some warnings.
Improve menu.

Also, the link in the example page (https://doc.magnum.graphics/magnum/examples-fluidsimulation3d.html):
Full source code is linked below and also available in the magnum-examples GitHub repository.

is wrong.

Merged as https://github.com/mosra/magnum-examples/compare/579a14cf46238501e648c7d5ce225edd73a99b9b...db48e1d899f54e742d9dd8f45bb7f439d3bd17f4 (without the #include changes), thanks!

authors: mosra ttnghia

repo: mosra/magnum-examples

license: unlicense


text:
Pontoon documentation: Update search_filters.md

Fixes #216
Initial pass for text. Screenshots to be updated.

Sorry, realized the document doesn't cover one thing: the menu is different when All Projects is selected.
We should call out that translation time, translation authors and tags are not available in this case.
Once that's fixed, this should be good to go.

Added a note at the very bottom.


text:
issue #1326 projectLimiter

ProjectLimiter is undefined, which causes the problem.

For now, it seems to be working correctly. However, there is a warning:

Deleted /7/projects/30/Untitled-1 Document still has 2 references. Did someone addRef() without listening for 'deleted'?
It pops up after i delete a new file. My guess is I am not cleaning-up the stats object in the checkLimits function.

That error is from within Brackets, and it must mean that some code is still holding a reference to the doc after it gets removed.  It's not likely to be your bug, but I'll have to read your code in more detail later.

@humphd please take a look at the comment above.

@humphd I've addressed most of the problems you outlined. However, I am still not clear on the init function. Where do you want me to call it?

@humphd Thanks a lot for your feedback, I'll be working on it throughout this week.

@humphd Please review the implementation of ProjectStats as you suggested.

@humphd I have implemented new features as advised. Please review when you have time.

I was considering  addition of  _extFromMime(mime) function to src\filesystem\impls\filer\lib\content.js . However, I was not sure if you wanted it there, so for now it is in my module.

@humphd please review changes on your convenience.

@humphd pushed some more fixes as requested.
I have an idea of how we can use usesExtension() function. When the project will be ready to implement projectLimiter concept, the method could be used to identify biggest media format files and give suggestions on where to host them. Maybe even use some external API to just select a file and then transfer it to a remote. I know this is really far-fetched due to the current phase of the project, however I could work on something like that for my next releases. Let me know what you think.

@humphd are there any updates on the review?

@humphd I apologize, if I came out rude. It's just you've been so quick with your reviews before, I assumed there was a problem in this time.

Thanks for saying that, and it's totally OK.  I know you're eager to keep going with this, which is great!  My problem is only that I have so many eager students all wanting reviews at the same time.  We'll get there.

@humphd  just added some new changes, please review.
Looking back at all of the styling problems like missing a space in function arguments or having a curly brace ( "{" || "}" ) in a wrong place, I looked at the current version of the .eslintrc.json file; it does not define any rules for most of the styling guidelines you enforce. On the other hand, should we define all of the rules properly in the esling file, we can then use a --fix option in order to avoid wasting time on fixing small styling errors. So the question is: "Should I file an issue for fixing this or is there anything that I am not aware of that makes said feature implementation impossible?".

@humphd pushed some changes, however I am not sure on one thing, please review the comment above.

@gideonthomas @humphd I added some linting rules just to make review less painless, they could be removed later if you wish. Moreover, I implemented the usesExtension function that we discussed today during class. For now, _extFromMime is inside projectState, later when this code is ready to land, I intend to move it to src\filesystem\impls\filer\lib\content.js

@humphd I did as you requested, will open a new PR for subsequent changes.

@gideonthomas if you want to review this, please do so soon.  I want to finish this.

@humphd please review, hopefully this is it. Let me know if I need to rebase it.

Somehow we have a whole bunch of commits in here that don't belong to this patch.  I blogged about how to fix this kind of thing at http://blog.humphd.org/git-does-what-you-tell-it/.  @dsych can you remove anything that doesn't belong in this PR?

@humphd hopefully, this is what you desired.

@humphd I think I'm going to say let's go with this fix and iterate on this (based on how we will use it). Requesting one final quick review and then we can merge this.

@humphd @gideonthomas I was working on related bug that required me to log-in into thimble. Before the log-in, filesystem behaved properly, however after login, it fails to properly do any updates and throws on every change. Here is the error:

callback is not a function

I examined the call stack and it seems that is being thrown at callback call in every respective function. E.g. https://github.com/mozilla/brackets/pull/620/files?diff=unified#diff-51ad1fd8eb0c794c6deea6808133b61bR53
I believe, we need to perform similar check as we did in write before calling the callback. I am not sure what might be causing those functions to be called without callback.

Do I need to revert this?  Is it breaking on master now?  If so, I'll undo this merge, and you can fix then do a new PR.
Let me know ASAP.  We can't leave master broken.

@humphd revert it for now. I will verify what is causing it. In the meantime,are you aware of any changes that happen to how that happen when someone logs in?

I've reverted in https://github.com/mozilla/brackets/commit/5158dfb948088767219ba88d39b3295b14bb9264.  @dsych thanks for catching this so quickly.  This kind of thing happens to all of us, so don't feel badly.  What's great is that you did QA as soon as it landed, and let us know there was an issue.
Fix it in a new PR and we'll land that when it's ready.

@humphd just tried it with the clean master without any changes, which produces the same error... Can you try the whole process on your computer, please? Maybe it is just me.

I've got master of Brackets and Thimble running locally, and I'm able to login, add files, delete files, no errors.

@humphd This might be false alarm, can I ask you to perform one more check? Can you repeat the same process, but using my branch for brackets, please?

@humphd I apologize for the hustle. It was a problem with my WM after all. Just tried using my code with thimble and everything works perfectly.
Again, sorry for the disturbance, I only had best intentions in mind.

So, to confirm, should I revert-my-revert commit and reapply this?  Please test everything thoroughly before saying 'yes' so we don't have to do this again.

@humphd Just finished testing with multiple file type before and after log-in. Everything seems to be working properly.

OK, I've re-applied this patch, and it's building on master https://travis-ci.org/mozilla/brackets/builds/221747036.  When that finishes, please test a lot on https://bramble.mofostaging.net/en-US/ and if you spot something, let me know.

@humphd multiple file types were successfully modified, renamed, deleted and added. I think we are good.

authors: dsych gideonthomas humphd

repo: mozilla/brackets


text:
[bug 1177224] Remove dead code

This code was just hanging out after we removed the bunch of half-assed
stuff back in commit 7201751.
Quick r?

This is all analyzer-area related. None of this is seen by normal users. If the tests pass, it's probably fine.

This is all analyzer-facing and the risk is pretty low, so I'm going to self-r+ it.

repo: mozilla/fjord


text:
replaced use of test_utils.TestCase with django.test.TestCase

By not using the (too) Django specific test-utils wrapper for TestCase base class we avoid the problem of the test runner not calling the appropriate methods to assure and set up test databases.
This fixes: https://github.com/jbalogh/test-utils/issues/14

Landed
https://github.com/mozilla/funfactory/commit/934388123a53763e7fca4be76a1ba685b3999739
I have no idea why wenzel's commit appears in my branch.

repo: mozilla/funfactory


text:
Fix unsubscribe button

Episodes are coming back undefined when we try to call destroyRecord on the podcast https://github.com/mozilla/high-fidelity/blob/ember-cli-conversion/app/models/podcast.js#L26-L31

The fix for this is a little hacky right now (https://github.com/mozilla/high-fidelity/commit/ff40adb0e1af27dcb58d4e0e8fe3d812a57f1c64), but the issue was caused by trying to get a large amount of records at once. The response gets split up as outlined here: https://github.com/emberjs/data/issues/651
So even though the application knows there are, say, 80 episodes to delete, it only makes it through the first half before erring out. Will ask around for a more appropriate solution to this.

repo: mozilla/high-fidelity