Taylor + Lightweight ORM

Anyone interested in starting a lightweight ORM to work with Taylor?
Curious to know people thoughts on this...
Thanks

I've been slowly working on a modular web-framework built around Taylor called Mast. It's not anywhere near alpha and right now the Readme doesn't even reflect what I want it to be, but eventually it will something great. Personally (I'm biased) I think that no library should be all-inclusive, so if you make an ORM for Taylor I encourage you to create it as a completely separate (but combosable) library, or as a module for Mast (which would be absolutely amazing!).
tl;dr: Do it modularly or don't do it at all 😛

+1

Thanks, I will check out Mast! I'm in the middle of an iPhone project now, but once i'm done i'll have some time to help out. So if someone else wants to start it, this is fine as well.
Very excited about all these projects!


PHP Virtuoso: Handle multiple PHP versions existing on the system.

Moved the WEB_NR_INI_DIR assignment down in case WEB_NR_INI_DIR gets reassigned.
Handle multiple php installations being detected.  In the case of multiple detections, newrelic-install.sh will default to all to install in all known locations.  This will result in multiple directory locations being recorded in the log file, so sed will pick up multiple instances.
The recipe sends php data via all known WEB php.ini/newrelic.ini combinations.  Note: because they all have the same app name, the post install logic will succeed if any of the php versions was able to successfully send data.
Modified the install logic which was only ever handling at most 1 php version.:w
The pure PHP CLI clause doesn’t loop through since it uses the default PHP that the user has set.
Changed the filenames to be less specific.

Note:  It runs on all redhat deploys and all but one debian deploy.  It will not run on test/manual/definitions/apm/php-agent/php-apache-wordpress-ubuntu18.json but neither will any other recipe.
Even the bare bones recipe will not run.

In our RedHat configs, don't the /bin and /usr/bin php point to the same binaries via a symlink? Is there any harm in not de-duplicating the list? We'll run the installer twice against the same install and will end up sending two passes of data to the same install.

php-apache-wordpress-* isn't a config we have to support this release. We need use enhanced process detection to correctly identify applicable systems so it is okay to leave it not working. (I was able to get it to work at one point... not sure what changed or if my test environment was corrupted).

In our RedHat configs, don't the /bin and /usr/bin php point to the same binaries via a symlink? Is there any harm in not de-duplicating the list? We'll run the installer twice against the same install and will end up sending two passes of data to the same install.

The recipe doesn't run the installer twice.  newrelic-install.sh detects it as two different versions so in silent mode, it automatically does what it does to install in all the directories it detects.  Once that exits and back in the recipe the configure task will loop through and add the name and collector as needed.  After it modified the ini file the first time, the  appname/collector sed doesn't match anymore so it doesn't do anything.
In the send_transaction task, it will loop through duplicates as if they are unique.  I'd vote for not de-duplicating since there's no harm in this, leaving it doesn't risk breaking anything, this particular case might not be common, the logic to de-duplicate would introduce more complexity, and the data sent is minimal.
Do you have a strong opinion one way or the other on this?

In the send_transaction task, it will loop through duplicates as if they are unique. I'd vote for not de-duplicating since there's no harm in this, leaving it doesn't risk breaking anything, this particular case might not be common, the logic to de-duplicate would introduce more complexity, and the data sent is minimal.
But I could add some de-duplicating logic. Do you have a strong opinion one way or the other on this?

I agree with you that leaving the duplication is the better option.


Update index.md

Existing content is correct just I wanted to add a line on Ajax which I believe is essential for modern day technologies like React.

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I am not the sole author or employee of a company who created the topic or collection I am changing.

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[x] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think this topic or collection should be curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

There seems to be some error while Auto merge. I already checked, "I am not the sole author or employee of a company who created the topic or collection I am changing." I am new to this. Please suggest @ahpook

Thanks I really appreciate.
On Sat, 9 Dec 2023 at 3:58 AM, Eric Sorenson @.***>
wrote:

Merged #4089 https://github.com/github/explore/pull/4089 into main.
—
Reply to this email directly, view it on GitHub
https://github.com/github/explore/pull/4089#event-11198189142, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BAAV7QH2HNUP7EY6UZBCVSDYIOIBVAVCNFSM6AAAAABALFLFBSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGE4TQMJYHEYTIMQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Excluding rules

Implement excluding rules as dictated in section 6.2 of the standard.

Migrated from BitBucket.


nccm: init at 1.3.0

Description of changes
Not quite happy with it yet. nccm just errors without a really helpful message when there's no config file in one of the possible locations. I already included the sample config file from the repo under $out/share/nccm/nccm.yml but I'm not really happy with just that. I'm open for ideas.

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Relevant issue: #231126

Result of nixpkgs-review pr 256344 run on aarch64-darwin 1

1 package built:

nccm


face detection

Dear developer!!!
I have used google_mlkit_face_detection: ^0.5.0 and Nokia android 11 phone to run but it seems google mlkit face detection can't handle my face. On the other hand, I use a samsung a30 and can handle it. Source test is attached at the bottom. Hope the developer can answer and give feedback. Sincerely thank you.
https://github.com/MCarlomagno/FaceRecognitionAuth

You might be having the issue I found here: https://github.com/flutter/flutter/issues/118350

Use NV21 for Android.
In this comment: https://github.com/flutter-ml/google_ml_kit_flutter/issues/287#issuecomment-1549828057
Someone reported that the native apps are using that for MLKit and when doing the same in Flutter solved the issue for Android. That was merged in this PR https://github.com/flutter-ml/google_ml_kit_flutter/pull/454. Update to the latest plugin version.


✨ Comments - Move from Disqus to giscus

As per my conversation with Gordon, Piers, Adam we want to use giscus because it stores comments in GitHub
Read about how @danielmackay  did this on his blog https://www.dandoescode.com/blog/migrating-from-gatsby-to-nextjs
https://giscus.app/
### Tasks
- [ ] Add Gisqus to rules pages (above Discus)
- [ ] Migrate comments
- [ ] Remove Disqus
- [ ] Do a Done Video and add it to https://www.ssw.com.au/rules/best-commenting-engine/

History

We used to use Utterances, then moved to disqus  here
https://utteranc.es/

Pretty sure I suggested this as a Brisbane brainstorming idea over 1 year ago.

Migrate comments

The second task will not be done here as it is being tracked on another issue - https://github.com/SSWConsulting/SSW.Rules/issues/1609

Remove Disqus

✅ Done - https://github.com/SSWConsulting/SSW.Rules/pull/1640

Giscus was implemented as part of another issue - https://github.com/SSWConsulting/SSW.Rules/issues/1567
And Done Video was made already - https://youtu.be/J2Hx9rGU0cM

https://github.com/SSWConsulting/SSW.Rules.Content/pull/9650

✅ Done - Video is added to rule https://github.com/SSWConsulting/SSW.Rules.Content/pull/9650


interface between GUI and terminal program "password entry"

It is necessary to implement pipe-interface between terminal program and GUI. For this purpose it is supposed to use JSON-format

Instead of pipe socetpair is apllied.


Make “Contributing to the Upstream Kubernetes Code” more discoverable

This is a Feature Request
:information_source: since this issue was recorded, https://k8s.dev/ came into existence.
What would you like to be added
I'd like someone who visits https://kubernetes.io/docs/contribute/ to be able to discover Contributing to the Upstream Kubernetes Code without clicking anywhere on the page (scrolling is allowed!)
Why is this needed
I hadn't seen https://kubernetes.io/docs/contribute/generate-ref-docs/contribute-upstream/ and only found this when someone told me about the cherry-picking process it describes and I then used Google.
It's much easier to find how to contribute to docs than it is to find the equivalent page about contributing code to Kubernetes.

@sftim Can I pick this up? we can change the paragraph introducing the style guide as follows:

For information on the Kubernetes documentation style guide, see the style guide and you can also learn how to contribute to the to the Upstream Kubernetes Code here.

@abuango anyone who's signed the CLA can contribute here! Feel free.

/language en
/sig contributor-experience

I also recommend changing the title for https://kubernetes.io/docs/contribute/
Here's one possible way to make an improvement:

change the title for https://kubernetes.io/docs/contribute/
signpost readers for how to contribute to Kubernetes code etc (ie, everything but docs)
log a new backlog issue to track further cleanup

eg restructure the Contribute section to show code, docs, and other contributions in one place. All are valid ways to help.

close this issue, referencing the new issue

As this feels well-enough defined to merit it, I will mark this
/help

/priority backlog
/kind feature

/remove-lifecycle stale

/remove-lifecycle stale

/remove-lifecycle stale

/remove-priority backlog
/priority awaiting-more-evidence

/remove-lifecycle rotten


*: use given task id or random number as task id

[x] Depends on https://github.com/pingcap/kvproto/pull/604

What problem does this PR solve?
Issue Number: Closes #7484
Problem Summary:
It's not suitable in all cases to use start ts as the task id for the unified read pool. For example, in the same transaction, a big query is executed and the following point selects are also downgraded.
What is changed and how it works?
What's Changed:
https://github.com/pingcap/kvproto/pull/604 adds task_id to kv context. We can use it to generate a better task id instead of using start_ts in coprocessor.
Task id tends to be generated in serial. The algorithm is replacing the high 16 bits of start ts (which is not so representative) with the low 16-bits of the given task id.
This PR also changes to let all storage tasks use random number as task id. These tasks tend to end fast so we don't bother to give them a meaningful task id. (Maybe we can do it in the future)
Related changes

Need to cherry-pick to the release branch

Check List
Tests

Unit test

Release note
Allow using the task ID provided by the client as the identifier used by the unified read pool to avoid unexpected priority lowered by another task in the same transaction .

@youjiali1995 PTAL again. Thanks!

/merge


DateFormat.y() leaves separation dot in result

When DateFormat.y() is used strange behavior is experienced.
When locale of device is en-us, DateFormat.y().format(DateTime.now()) returns "2021" as expected.
However, when the locale of the device is hu - and date is formatted like 2021.09.17. - the return of the above function is "2021.".
There is an extra dot at the end, which causes unhandled exception, when trying to parse the above result as int.

This seems to be consistent with how it should be according to the CLDR data.
Please reopen if this is still unclear!


V2 Prerelease - Phase 1

These changes create the MAJOR prerelease for V2. All package VERSION numbers have been changed to 2.0.0-alpha.0, which designates that packages are in prerelease mode.
Futher changes to package contents will increment the last digit of the VERSION, not the VERSION of the package. This allows the packages to be published (next step) with the same VERSION as fixes, etc are made.
A few changes to the lerna configuration were made.

desktop / gcode-deserializer / scad-deserializer packages are now 'priviate' to prevent new versions / publishing
vtree dev dependencies were corrected

Note: There is a new version of web/dist/jscad-full.min.js, which is a real V2 release.
All Submissions:

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[X] Does your submission pass tests?

Tests also performed with WEB UI, both npm run dev and demo.html.

I think now is the best time to validate the CHANGELOG for each of the packages. These seem incomplete and sometimes misleading.

@SimonClark sorry to request a review, but i have integrated all the fixes and feats into the CHANGELOG files. this brings and end to PHASE 1, and the next increment should be far easier and automated.
Getting closer to a real release!

changes.txt
A list of all commits on V2 branch.

Did you want me to merge your PRs when I approve them?

Did you want me to merge your PRs when I approve them?

Sure. Just make sure...

all questions have been answered
all requested changes have been completed (i think this requires a review again anyway)
all CI checks have passed (this is required to merge anyway)


Question

Hi,
I want to use/change the signalr hub protocol in the following way:

clients pass the type of message (instead of method name) together with the message itself (ie. CreateUserCommand or GetAllUsersQuery)
the hub dispatcher calls Handle method on the Hub
the Hub Handle method will dispatch the message to the correct command/query handler.

What's the best way to do this in Signalr Core? In previous versions of Singalr I could use PersistentConnection to do it.
Can I override the DefaultHubDispatcher ? by creating a custom one and register it in the IoC?
Thanks,
Stefan

Yes, if you register your own class deriving from HubDispatcher in the DI container, SignalR will use that. You're going off the supported path when you do that, but it can work.

Thanks anurse! Would be nice if SignalR Core could allow customization on the protocol or provide a message based hub.


Cannot reproduce the inpainting result

I cannot reproduce the inpainting results. I'm trying to reproduce the inpainting result with a disperse mask on the hnerv model using Boosting-NeRV/scripts/inpainting/hnerv.sh (on blackswan video from DAVIS2016)
I haven't modified any settings or code except for the data path.
I want to reproduce the results shown below (results in the paper).

And this is my result.

Can you help me with this, please?

The hnerv model is unstable when training under inpainting. I apologize for not specifying the learning rate settings for different videos of hnerv under inpainting. During the inpainting experiment of hnerv, most videos used a learning rate of 0.001 (consistent with the original paper: https://github.com/haochen-rye/HNeRV), but some videos got NAN PSNR under the inpainting setting. In this case, I would reduce the initial learning rate (7.5e-4, 5e-4, 2.5e-4, 1e-4). I will re-check the hyperparameter settings under scripts.
The figure below shows the inpainting performance of the hnerv model on blackswan with a learning rate of 0.001 under NVIDIA RTX A6000.


Create de.html - German translation

@ncase This PR solves #2.
Preview: https://herrhundt.github.io/de.html

Hi @herrhundt ! So sorry for getting to this very late – my email inbox is full of hundreds of unread stuff, many high-priority, so this got lost. I finally pulled it & pushed your contribution live. Thank you for taking the time & effort for doing this! 🎉


Added Silverstripe Guidelines

Summary

Added Silverstripe Guidlines

https://werkbotstudios.teamwork.com/#/tasks/28383050
https://werkbotstudios.teamwork.com/#/tasks/28383051
https://werkbotstudios.teamwork.com/#/tasks/28383060
Testing Steps

[ ] Review the changes

Issues/Concerns

There is a separate task for the tests and documentation

The php files could be beautified. I use a sublime text plugin, but this online tool seems to work well

I used the default php intellisense formatter in visual code.  I would like to get all our local environments to automatically do this for us, whatever tool we choose we can figure out, but would like it to become second nature for everyone. We can discuss this at next weeks meeting


Unable to use this package in Vue2 based on readme setup

When following the readme steps on the Vue2 branch, on multiple applications the below error is thrown:
    at eval (imgix-vue.esm.js?e43c:1654:28)
    at<EMAIL_ADDRESS>(app.js?clear=1668527166:19:1)
    at __webpack_require__ (app.js?clear=1668527166:6760:42)
    at eval (webpack-internal:///./resources/assets/js/app.js:23:69)
    at ./resources/assets/js/app.js (app.js?clear=1668527166:709:1)
    at __webpack_require__ (app.js?clear=1668527166:6760:42)
    at app.js?clear=1668527166:6939:313
    at __webpack_require__.O (app.js?clear=1668527166:6797:23)
    at app.js?clear=1668527166:6950:53
    at app.js?clear=1668527166:6952:12

in my app.js:
import VueImgix from '@imgix/vue';

Vue.use(VueImgix, {
  domain: "ourdomain.imgix.net",
  defaultIxParams: {
    // This enables the auto format imgix parameter by default for all images, which we recommend to reduce image size, but you might choose to turn this off.
    auto: 'format',
  },
});

current vue version:
"vue": "^2.5.17",

Hi @cennis-ck, thank you for letting us know about the issue! I've let the team know, and we'll update this thread with any new information.

Hey @cennis-ck,
I noticed that the docs on our Vue2 branch might be unclear about which version of the library to install. Can you try installing the latest v2 version and report back whether that helps resolve your issue? Thanks
npm i<EMAIL_ADDRESS>

Hey @cennis-ck, I'm checking in again on this issue.
I cannot reproduce your error on Vue version ^2.5.17. I think @sherwinski is probably right. You've likely installed the wrong version. Our docs for Vue 2 should be more explicit on that point.
You can find a simple Vue 2 codesandbox example here.
I'm going to go ahead and close this for now, but should anything else come up, please don't hesitate to comment.


battery status in statistics

With regard to issue #309, I have prepared the graphical user interface for displaying the battery status under statistics. Someone would just have to implement the get_battery_status function. Unfortunately I don't have the go knowledge for this.

The unfortunate issue with the SDK is the battery level will always be a constant value when read e.g. 4.9v but the status will either be good, charging, or needs to charge....so this graph will always have a horizontal line that changes from read to read...it wont ever slope down or up :(

When he is taken off the charger, the voltage value just stays the same in my experience, even after 10 minutes or so. I don't know if this is an issue with the vector-go-sdk or if it is expected.

I already have a go lang script that reliably gives me the battery voltage and docking status from vector, I just don't know how best to implement it in wire-pod... I can post it here later. It would be great if you could take a look at it and help me with it.

As promised, here is the go lang code that supplies the voltage every 10 seconds:
https://github.com/Hamlet3000/Vector-mqtt.go/blob/main/mqtt.go
I am currently using the script as a service on wire-pod to send the values to my smarthome via MQTT (see also issue #312). It would be great if someone could help me with the implementation in wire-pod and maybe realize both issues. Please feel free to use my code.

MQTT support is something i'd like to add to WirePod in the future, but I think i'd want to send more than just docked status+voltage. Is there any reason you'd like this to be a part of wire-pod rather than stay as a seperate process?

Docking status and battery are the things that the SDK already supports, so I think it should be relatively easy to integrate. It would be a great advantage for all users who don't want to or can't program to simply enter the IP and port of their MQTT broker via the interface and wire-pod does the rest.
I can of course live with my current solution, but it is customized for me with additional scripts and setting up a service.


portico_error_pages: Collect zerver error pages into a folder.

Tested link_does_not_exist.html, 404.html and unsupported_browser pages render correctly.
discussion: https://github.com/zulip/zulip/pull/30273#issuecomment-2147974832

Merged, thanks @amanagr!
I note we have a couple files still in the root directory that seem like they might need to be moved into this framework:
$ ls -d templates/zerver/*error*
templates/zerver/config_error
templates/zerver/portico_error_pages
templates/zerver/realm_reactivation_link_error.html
templates/zerver/unsubscribe_link_error.html


Fix  git diff subscriptions

Identify the Bug
Was intended to fix bug #21966 but also fixes #21967
Description of the Change
The startup script now uses a Set to manage GitDiffViews held in memory and destroy them when deactivate is called.
There are now four major subscription blocks.

The outer subscriptions held by activate.
The per-editor subscriptions held within activate.
The per-editor repository event subscriptions held within each GitDIffView instance.
The per-editor modification event subscriptions held within each GitDiffView which are only active when the editor content is bound to avalid git repository.

Teardowns of any editor or the module now result in disposeal of the respective editor's subscriptions or all subscriptions authored within the module.
I removed some of GitDiffView's unnecessary methods such as the start, cancleUpdate, addDecoration and removeDecorations;
The last two methods were combined into the body of updateDiffs.
scheduleUpdate now calls requestAnimationFrame instead of setImmediate because it's native, standard, and yields
to other more important browser processes. I know Atom Core implements setImmediate, but rAF seems to work just as fast if not faster.
The memory management of the editor markers and diffs have been joined using a WeakMap. When the diffs are destroyed,
so too are the editor markers.
Finally, I added the destroy method to handle teardown of subscriptions and other destroyable objects contained within the GitDiffViews before object release.

Alternate Designs
I considered doing everything from within the main activate function, but decided against it because it's far more concise to put a lot of the functionality contained herein, into a single object.
Possible Drawbacks
There's a warning in the source now; If the API for git-utils ever decides to re-use diff symbols between repository.getLineDiffs fetches, it could cause a memory leak due to my use of the WeakMap for allocation performance.
Verification Process
I had to rewrite most of the existing specs to accomidate the async screen updates. I also added a test case to prevent regression of issue #21966. Beyond that, I tested modifying code and deleting lines, adding lines while in newly opened editors and turning the module on and off again between doing so.
I also check the Chromium memory profiler for leaks.

Dammit I just remembered I forgot to use JSDoc comments in the source code for better readability.  Oh well, I'll probs do that tomorrow when I'm not tired. Right after I fix the linter issue.
By the way, why does eslint throw different errors when running eslint and script/lint. Seems like some jank scripty buisness there. CoNdEnSe ThE LiNtEr SeTtInGs :P
JK y'all probs have a good reason for it.

Got board and did it tonight lol. Hopefully I can pass the automated test :laughing:

May want to re-run the checks, it's failing @ the render process because it's calling a depricated method dock.getActiveTextEdtior()?

Okay Azure, wtf? This worked the first time, I only added some comments and renamed a variable, now something completely unrelated to my code is failing?

Finally back home and at my Laptop to get those issues fixed. Sorry it's been taking so long.

That officially took way too long. I'll consider making a PR for the .eslint.json configuration changes since I found a conflict between the prettier/prettier settings and the eslint ones. That and @aminya is right, things should be debuggable by default regardless of the core Electron version; I discovered a few compound statements within the Atom core that should be --fix and maintainable once the eslint changes are made.
Untill then, this currently uses styling that goes against the Atom script/lint settings and will be destroyed if run with --fix prior to the changes. I'll leave it up to the maintainers to take care of that.

"rules": {
    "nonblock-statement-body-position": ["error", "below"]
  },

That's the rule I added to the eslint config just so everybody's aware.

Windows Renderer test and Linter is failing. The Windows Render test failure seems to be a recurrent issue that happens infrequently. Can it be overlooked or do I need to make another commit to refresh it.

You need to run script/lint --fix to fix the linting error.

Windows Renderer test and Linter is failing. The Windows Render test failure seems to be a recurrent issue that happens infrequently. Can it be overlooked or do I need to make another commit to rerun it?

That is just a timeout. These happen sometimes in the CI.

@aminya Like I said, running script/lint with --fix would overwrite the manual styling that fixed the debuggability issues. I refuse to add brackets to single line queries that won't ever need extension. It makes the code look bloated. So I did what that C++ seminar recommended and enforced line breaks in compund statements so breakpoints can be added to the internals.

You need to add the braces so Prettier styles it correctly. This is what all the Atom code uses. Please follow the style.

So why then do you allow compound statements to exist in the code at all? Are you trying to enforce a personal standard outside of the maintainer's wishes?

That's how the Atom's coding style not mine.

So then it's a non-issue and a personal criticism.

So you admit that my original styling was fine then, because it didn't conflict with Atom's styling. And you're saying I should revert it?

You are misunderstanding my review. The style I suggested is Atom's coding style not what you prefer to do in this PR. Your style is alien to this codebase.
Examples:
https://github.com/atom/atom/blob/eb064bf502cc91c7209546544973bdbdad054394/packages/grammar-selector/lib/grammar-list-view.js#L13-L15
https://github.com/atom/atom/blob/eb064bf502cc91c7209546544973bdbdad054394/packages/grammar-selector/lib/grammar-list-view.js#L68-L71
https://github.com/atom/atom/blob/eb064bf502cc91c7209546544973bdbdad054394/packages/go-to-line/lib/go-to-line-view.js#L33-L35
and a billion other examples.

@aminya while I believe you are coming from a good place, I think it's time to stop with the style comments. This PR represents a lot of effort, which should be respected. I do not think pursuing the style review to this level is warranted. If hypothetically it was, I would ask that you please make the review in the form of an optional suggestion and be willing to accept a "no" answer. No-one who has responded thus far is an official maintainer of the Atom repository. If the author of this PR prefers not to make a style change you suggest, that's okay. None of us has authority to insist otherwise. If a hard dispute arises, which it has, it is polite to let the maintainers decide rather than continue to make the point. Thanks.

My suggestions are by no means discouraging contributions (e.g. among all the people, it's only me who has given thumbs up to the changes). My suggestions are just to help to use the best practices and use a style that fits that particular codebase.

I think it's time to stop with the style comments.

Not following a unified style results in a spaghetti code in which each part comes from a different world, and each part is alien to other parts.

@aminya I just want to call out your balognia. Please investigate and validate your own claims before you make them.
src/text-editor.js:104
if (state.version !== SERIALIZATION_VERSION) return null;

src/text-editor.js:112
if (!state.buffer) return null;

src/text-editor.js:290
f (!this.isMini()) this.decorateCursorLine();

There are hundreds more examples of this which can be easily pointed out if you just run the linter with the settings I highlighted above.

What I have learned by contributing to hundreds of projects on GitHub is to follow the coding paradigms/conventions that a specific project is using instead of guarding against the reviewers. This has given my PRs a very high chance of getting approved. No matter if I am an OOP guy or a functional guy, or if I hate braces, I know how to follow what the reviewers suggest to facilitate getting my change inside. At the end of the day, it is the "main contribution" that matters the most.
If you like making the code undebuggable, that is fine with me, and I will not stop you from doing that. But remember that contributing to shared projects requires a different mindset compared to personal projects, and you should consider "all the other developers."
In the same video I gave you before, Tony Van Eerd nails this "People already have enough paradigms."
https://youtu.be/GPP64opjy_Y?t=1668

Are you kidding me? So this is my problem alone, and I shouldn't try and help the whole project by making a PR for suitable linter changes? Because that was my next step, and I think it should have been yours as well. If you knew about this issue and didn't say anything besides to harrass a new contributor, then you have no room to talk. I'm going to try and fix this issue at the core. If you want to make a review and help get those changes submitted then I'd appreciate the help. Otherwise please stop complaining.

I am going to stop commenting on this PR due to the shocking feedback I have received. You can do whatever you feel is OK for your project.

So I'm making a revision to fix the linting issue and I'm having a hard time. It seems like the "nonblock-statement-body-position" eslint setting, conflicts with prettier's oppinionated formatting choices. Trying to add the setting in the .eslintrc results in unresolvable errors. I tried using prettier-eslint-cli and that was a hellstorm. I'm stuck. It seems like the maintainers really like Prettier since it's standard in the CONTRIBUTING.md. I'm thinking the styling issue is a "nofix" issue. Which is okay, considering the upgrade to the internal Electron Version comming in soon sounds like it might fix the debuggability issue.
It's still beyond me what Prettier provides over ESlint alone. I'll hopefully pick it up sometime in the future. Too tired to pick it up right now.

I looked into this a bit. It seems ESLint is very flexible and configurable. And Prettier is meant to be opinionated and not configurable. Any integration between Prettier and ESLint is apparently meant to turn off rules in ESLint that conflict with Prettier.
Not to get too off-topic, but for my part, I can't even run script/lint all the way through for the project without getting an out of memory error.
Error message from script/lint
% script/lint
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x101203f65 node::Abort() (.cold.1) [[path/to]/node]
 2: 0x1000a5a09 node::Abort() [[path/to]/node]
 3: 0x1000a5b6f node::OnFatalError(char const*, char const*) [[path/to]/node]
 4: 0x1001eeb97 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [[path/to]/node]
 5: 0x1001eeb37 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [[path/to]/node]
 6: 0x100387b55 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [[path/to]/node]
 7: 0x1003893ca v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [[path/to]/node]
 8: 0x100385dfc v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [[path/to]/node]
 9: 0x100383bfe v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [[path/to]/node]
10: 0x10038faca v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [[path/to]/node]
11: 0x10038fb51 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [[path/to]/node]
12: 0x10035d42a v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [[path/to]/node]
13: 0x1006aff78 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [[path/to]/node]
14: 0x100a0ca79 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [[path/to]/node]

(Personally, I either let CI run the lints, or I run prettier from the CLI: cd script and to check if I pass the lint I do npx prettier -c ../path/to/file.js. And if I want to have Prettier do its thing and overwrite the file, I stash, stage or commit my changes, then do npx prettier -w ../path/to/file.js.)

I can confirm from testing this change that the "Git Diff" commands don't pile up/duplicate in the Command Palette anymore. (As described in the linked issue https://github.com/atom/atom/issues/21966).


Nested url active in sidebar

Summary
Why SidebarItem.svelte doesn't support nested url active?
Basic example
// In SidebarItem.svelte
$: active = sidebarUrl ? href === sidebarUrl : false;

I'm using /community route and /community/write route.
When I'm in /community, community sidebar item active works fine.
But when I'm in /community/write,  community sidebar item active doesn't work.
Motivation
I think
$: active = (sidebarUrl && exact) ? href === sidebarUrl : sidebarUrl ? sidebarUrl.startsWith(href) : false;

is better.
How can I solve this? any good solution?
thank you.

I don't understand why the active property was commented out I feel that it should be up to the consumer to set the determine the active state of the item.  This appears to be how it was before but not any longer

+1


[Event Parameter Change] Codeunit 99000854 Inventory Profile Offsetting - procedure UpdateReqLineOriginalQuantity - event OnBeforeUpdateReqLineOriginalQuantity

We would like the parameter TempSKU added to the following events.
Codeunit 99000854 Inventory Profile Offsetting - procedure UpdateReqLineOriginalQuantity - event OnBeforeUpdateReqLineOriginalQuantity
Original:
Codeunit 99000854 Inventory Profile Offsetting - procedure UpdateReqLineOriginalQuantity - event OnBeforeUpdateReqLineOriginalQuantity

OnBeforeUpdateReqLineOriginalQuantity(ReqLine, SupplyInventoryProfile, IsHandled);

[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateReqLineOriginalQuantity(var ReqLine: Record "Requisition Line"; var SupplyInventoryProfile: Record "Inventory Profile"; var IsHandled: Boolean)
begin
end;

Change:
OnBeforeUpdateReqLineOriginalQuantity(ReqLine, SupplyInventoryProfile, IsHandled, TempSKU); // <-- ADDED

[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateReqLineOriginalQuantity(var ReqLine: Record "Requisition Line"; var SupplyInventoryProfile: Record "Inventory Profile"; var IsHandled: Boolean; TempSKU: Record "Stockkeeping Unit") // <-- ADDED
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52531.


Refactoring defineRegexpVisitor(context,{createVisitor})

Change the argument of createVisitor to context only.
See https://github.com/ota-meshi/eslint-plugin-regexp/pull/148#issuecomment-821915380
We also need to consider whether we can add other helper functions. e.g. getRegexpLocation()

We also need to consider whether we can add other helper functions. e.g. getRegexpLocation()

I like that. We could also supply functions to create fixes. This will make them more convenient to use.


Requeue rc if a single get/put retry on status.Replicas fails

Does https://github.com/GoogleCloudPlatform/kubernetes/pull/6866#issuecomment-97271867.
Essentially we try once with the rc we have, if that fails (which can happen for all pods that show up via watch in the window mentioned in the above comment), we do a single get and try the update again. If the second udpate fails, requeue the rc.

@lavalamp

Looks good once everything is green.

Failed:
_output/local/go/src/github.com/GoogleCloudPlatform/kubernetes/pkg/controller/controller_utils.go:22: imported and not used: "time"

Hrm, my controller_utils file clearly has - import time

PTAL

LGTM


Added: thunderbird 60.5.0

Newer version of thunderbird (68.2.1) is now available in master. 4ddaef3072eb9dc98d565ffdc2cabe9f0f45003d


Linux Fuchsia builders are failing because of recipe crashes.

An example of the failure is here. The specific error is:
Infra Failure
recipe infra failure: Uncaught Exception: TypeError('not all arguments converted during string formatting',)

This seems to be happening for all build attempts by this builder.

Correction, one of the builds in the column I highlighted was because the build timed out after 1h and 30mins. It did not seem to be stuck either. It was just uploading some symbols to a server. It just seems like it took a long time to schedule and the builder was slower than usual?

This was a problem with very slow uploads/downloads to gcs from one of the datacenters. This has been resolved.


Update gcs-connector to hadoop3-2.0.0

Updates com.google.cloud.bigdataoss:gcs-connector from hadoop2-2.0.0 to hadoop3-2.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud.bigdataoss", artifactId = "gcs-connector" } ]

labels: library-update

We need to keep this in line with scio manually


22 post data to firebase frontend

Made possible to update currentPhysicalState of a wheelchair patient.
co-authored by @ingeborgelly and @simeonc01

Meget bra


Formatter

Hello.
When making a template I've found myself often using the nice auto-complete feature and mostly just writing what I need in one go, especially when using #set.
This however results in hard to read lines where each "block" is hard to distinguish. At the same time manually adjusting everything so that it's easy to read and come to takes time.
Hence I'd love it for typst to have a commands formatter of some sort, much like rustfmt.

c. astrale-sharp/typst-fmt

Closing in favor of #1772, which has a bit more detail.


Updated the filter side bar on Results Page

Related to #845  by @annatuma
Description

Updated the License filter, to include the License icons, as well as the License abbreviation, using tooltip.

Added question mark tooltip to each license.

Added visual indicators to Aspect Ratio filter, for tall, wide, square, as shown in the mockup.
Other improvements will be done by @krysal

Screenshots
Aspect Ratio:

License Section:

With Tooltip

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Hi @abhisheknaiidu, the question mark icon should also have a modal on hover, which shows bullets per license, styled as shown in the Figma mockup.
And since the PR just partially address the issue you should replace 'Fixes' with 'Related to'.

Oh ohk I think I just missed that part , will try to fix that, is that a tooltip, we have to add ? @krysal

Yes, it looks more like a tooltip.

@annatuma , @kgodey @brenoferreira Could you once review this :)

Thanks for working on this @abhisheknaiidu
Some stylistic changes, for each of the items:
Update the License filter, to include the License icons, as well as the License abbreviation, for example as shown in the “License Filter update” screen.
Here is a screenshot of what this should look like, more fully fleshed out than the mockup we referenced previously:

Left align two columns, so that icons are all left aligned, and the license abbreviations are all left aligned.
Add question mark icon to each license, with modal on hover, which shows bullets per license, styled as indicated in “Results license” screen.
We use icons from Font Awesome. The question mark will be added to the design library. For now, make use of this icon:
https://fontawesome.com/icons/question-circle?style=regular
The styling of the modal is not as indicated in the mockup. It includes the license name, license icons, sentence describing each icon, and a link to the license. It should match the style in the mockup exactly.
This is what the modals should be styled like:

Here is a Google Doc with all of the content for each tooltip, listed by license:
https://docs.google.com/document/d/12mfwy1fvWUYJhs1gKHyAoC1GVoqO0iEj6NP4uBA-SsU/edit?usp=sharing
Add visual indicators to Aspect Ratio filter, for tall, wide, square, as shown in mockup.
These should be center aligned, like the mockup, see screenshot:

Let me know when these changes are in and paste new screenshots, and I will review again.

@annatuma I have made the following changes
1. Updated the License filter and added font-awesome SVG

2 Made the visual indicators aligned center

For adding Modal, I am not able to get what to do exactly, is it we have to add draggable one?
because modal seems to have an effect on total page.

@abhisheknaiidu when a user hovers over the question mark icon for each license, that's when the modal should show, explaining the license conditions.
It should not be draggable, and it should have icons plus text, in order to allow for translation in the future.
Does this make sense?

@annatuma Yess, it makes sense, but instead of hover it's better to add on-click function, it will be better for accessibility also.
I made these changes

and I disabled this modal for all small devices because it does makes sense, and also there will be new filter form being attached to all small and smaller devices in the issue #684
and its corresponding PR #866

@annatuma  the reason I made the size of modal little bit, different because I made just one modal for all the licenses and just passing their information dynamically through it. I guess, it's fine, right ?

There will be some discussions about this on our upcoming internal design meeting so we'll get back to you on this next week

This was done in #989
Thanks for your contribution.


Add link to current selection

Hey, is there a possibility to add the link to the current selection?
val state = RichTextState()
state.setText("Test THE LINK selection")
state.selection = TextRange(5, 13)
state.addLink("https://google.com/")
val output = state.toHtml()

Output should be
Test THE LINK selection

Do you plan adding that feature?

Hi,
For now it's not possible, but I see it's an important feature to have.
I'll try to add this in the next release.

I'll try to add this in the next release.

Do you have any timeline?

Hopefully this week.

Fingers crossed, I would really appreciate that feature!

Check the docs the new link APIs: https://mohamedrejeb.github.io/Compose-Rich-Editor/links/
You can check the Slack demo as well: here


Enable runtime autocompletion of arguments in minder

Cobra allows to have runtime autocompletion of arguments. This will be very nice to have since it will improve the UX of the CLI and minder in general.
Example:
In case of double-tab on
minder profile delete
the user will be presented with a list of its profiles they can choose and autocomplete on -
minder-profile-1   quickstart-profile
Caveat:
The caveat here is that it seems we use flags for everything, so this will imply changing some of the flags to arguments.
References:

https://blog.devgenius.io/shell-completion-with-cobra-and-go-c8368074d8f7

This would be a lot of work; I suspect we want to apply that work elsewhere.


Grant permissions could be removed due to new Android Test rule

Came across this rule which would mean that the Grant Permission control in TB might be redundant. https://developer.android.com/reference/android/support/test/rule/GrantPermissionRule

I was looking at that recently as well, but haven't had time to dig into it fully. I'm wondering if Test Butler's functionality is still different since it can grant permissions as a system level app, which maybe aren't grant-able via GrantPermissionRule? I'd want to do a deeper dive on this and understand any potential differences before we deprecate / kill the Test Butler feature.


Cannot read property 'playlist_title' of undefined.

Hey when doing a custom playlist I have this issue:

it's working on my localhost slow pc but as soon as I go on a good vps for my bot it's not working and getting this error, before this error all was working on the vps and suddnely appears this error

Add title property to fix it temporarily

Add title property to fix it temporarily. But this is due to the playlist is empty.

Yeah i try on another vps and it's not happening but on my main bot bit is deconnecting on is own while playing music i don't why it's not throwing error tough


How to track down bugs in code when tests are failing?

Thank you for this outstanding demo of how to use pFUnit which beautifully explains how to integrate pFUnit with a project.
However, suppose I change the subroutine subtract_numbers in hello.f90 to NOT subtract but add the two inputs, then I'll get the test report
Running tests...
Test project /home/la/Code/pfunit-demo/build
    Start 1: pftest_alltests
1/1 Test #1: pftest_alltests ..................***Failed    0.03 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.04 sec

The following tests FAILED:
          1 - pftest_alltests (Failed)
Errors while running CTest
make: *** [test] Error 8

Is there a way to get more insight into which test failed and why?

dear Leo,
Thanks! You can get more output either by running the pftest_alltest directly
or by exporting CTEST_OUTPUT_ON_FAILURE=1 telling CMake
to print output on failure, e.g.:
$ CTEST_OUTPUT_ON_FAILURE=1 make test

I will update the README to reflect this.

Can I consider this as solved and close the issue?

Nice, thanks!


Scanning for placeholders fails on include tags with a variable as an argument

I believe this is the underlying problem for issue #3852. I am opening a new one as the other thread is rather noisy. Here's a concise bit of evidence that people can hopefully work with:
from django import setup
from django.template import Template

setup()

t = Template('{% include name %}')

from cms.utils.plugins import _scan_placeholders
_scan_placeholders(t.nodelist)

Running this with Django v1.7.6 and Django CMS v3.0.12, the last line will throw an AttributeError.
I suppose these nodes will have to be ignored as there's no way to resolve the variable without a context.

Thanks for analysis. This looks like a legit issue

Moving to 3.0.14 as the fix is super straightforward

Closed by #4170.


How to select key in Vue multiselect and preselect option? Vue

Reproduction Link
Steps to reproduce
Expected behaviour
Actual behaviour
Check my all question on stackoverflow and if you can send me
https://stackoverflow.com/questions/61762464/how-to-select-key-in-vue-multiselect-and-preselect-option-vue

@shentao @jbruni @phlegx @antony @arran4

@AleksandarMiha please don't do this. It's incredibly annoying.

Ok no problem just hint me how to solve my problem

https://stackoverflow.com/

????????


CC-16593: Fix CSS build in production mode

PR Description
TBD
Checklist

[ ] I agree with the Code Contribution License Agreement in CONTRIBUTING.md

@andrew-maslov could you provide some more context? What error is this downgrade of optimize-css-assets-webpack-plugin solving?

@SassNinja In the optimize-css-assets-webpack-plugin: 6.0.1 was found the issue:
An error occurred while creating configuration Error: [object Object] is not a PostCSS plugin
    at Processor.normalize (/data/node_modules/postcss/lib/processor.js:145:15)
    at new Processor (/data/node_modules/postcss/lib/processor.js:51:25)
    at postcss (/data/node_modules/postcss/lib/postcss.js:73:10)
    at cssnanoPlugin (/data/node_modules/cssnano/src/index.js:167:10)
    at getDefaultProcessor (/data/node_modules/@spryker/oryx-for-zed/node_modules/optimize-css-assets-webpack-plugin/src/index.js:9:19)
    at new OptimizeCssAssetsWebpackPlugin (/data/node_modules/@spryker/oryx-for-zed/node_modules/optimize-css-assets-webpack-plugin/src/index.js:30:9)
    at Object.getConfiguration (/data/node_modules/@spryker/oryx-for-zed/lib/webpack.config.js:203:17)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

I guess your issue exists since 6.0.0 because this introduced postcss: https://github.com/NMFR/optimize-css-assets-webpack-plugin/blob/v6.0.0/src/index.js#L6
However I'm surprised about this error message because it's doesn't appear in any issue of ptimize-css-assets-webpack-plugin...

We solve this problem with npm install postcss, so no downgrade of optimize-css-assets-webpack-plugin necessary.


[Fix #10421] Make Style/DefWithParentheses aware of endless method definition

Fixes #10421.
This PR makes Style/DefWithParentheses aware of endless method definition.
def foo() do_something end will continue to allow because def foo do_something end is a syntax error.
On the other hand, be aware that the endless method definition's parentheses can be omitted.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


how to load image without actual files on server?

Hi, I have some questions about loading image with OSD.
Currently, I have a whole slide image file on my local computer with a program to generate tiles based on level, x and y. The local computer is connected to a server.
I want to show the slide on a remote browser with OSD. However, there’s no tile file on the server. They will be generated when needed. Once the tile data is generated, it will be sent to browser (base64 string) via websockets, which means there’s no actual tile file during the whole process.
Process

remote -> (level, x, y) -> server -> (level, x, y) -> local
local generates tile based on level, x, y
local -> tile image data(base64) -> server -> tile data(base64) -> remote
remote show tile image with OSD

Q1: How can I use OSD to load image files in above situation?
Q2: Which part of OSD code should I modify to implement a customized tile loading process?
Looking forward to someone who can help me with the questions or just give me some advice on building a remote viewing system.
Thanks!

Sounds like an interesting project! I think you could make a custom TileSource and have its getTileUrl function return data URIs based on the data you get from the WebSocket. One challenge there is getTileUrl is not asynchronous, so it would expect you to already have the data. One possible way around that would be to give it a blank data URI (preferably of the correct dimensions) and then fill in the data once you have it via the "pre-draw" mechanism: https://github.com/openseadragon/openseadragon/pull/348
BTW, you should also check out #119 for further discussion in this area. I still think it would be great to have more robust support for non-file-based images!

@iangilman Thanks a lot. I'll try to make it work.

Hey, First time posting but thought i could give you a little help.
I use OSD using a remote tileset using base64 and AJAX
It looks something similar to this
$.ajax({
type: "POST",
url: "Webservices/Map",
data: "{TilesetID: '" + Tid + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
MapTileSet = response.d;
source = { type: "image", url: "data:image/png;base64," + MapTileSet.Image, height: MapTileSet.height, width: MapTileSet.width};
},
failure: function (response) {
alert(response.d);
}, complete: function () {
if (typeof (viewer) !== "undefined") {
viewer.destroy();
}
viewer = OpenSeadragon({
id: "content_div",
visibilityRatio: 1,
showNavigator: true,
sequenceMode: true,
prefixUrl: "js/images/",
maxZoomLevel: 10,
defaultZoomLevel: 0.8,
minZoomLevel: 0.8,
tileSources: source
});
viewer.zoomPerClick = 1;
}
});
You could always save various base64 objects in an array or like i do as part of a database and recall them using AJAX.
I use this method for various things and it seems pretty full proof the good thing is you could even change the tiles based on zoom with abit more thinking with parameters sent to the server.
Sorry if i misunderstood the question but hope i helped.

@JElimpus Hi, thanks for your suggestion. It's a good idea. I'll try to understand it and integrate it into my project to see what happens. Once I get some results, we can discuss more about this solution. You definitely help me a lot. Thanks again!

@iangilman Hi, I'm wondering whether I can get a tile object by (level,x,y) and change the tiledimage for this tile?

Well, if you provide your own tile source with its own getTileUrl you can have it return whatever kind of URL you want. Is that what you mean?

when ever loading .svs file without connect to server
from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

@chintuuuu That doesn't sound like it's related to this issue. You should file a new issue for it.

why .svs file convert to .DZI
how load .svs file

@chintuuuu .svs isn't a format browsers understand. You need to convert it somehow into a format the browser can display. It doesn't need to be DZI, but it needs to be something. DZI is composed of tiles that are either JPEG or PNG, both of which are formats browsers can display. If the images are small enough, you can just convert them directly into JPEG or PNG and skip the DZI step.

@aleeex325 @chintuuuu We've actually been doing exactly this for over ten years, and indeed with SVS files as well as with all other pathology formats. There is no need for the backend to have physical "tile files", only to be able to generate them on demand from your source files, in this case an SVS or other content.
@iangilman is correct, a custom TileSource is required (unless you transcode to DeepZoom, Zoomify, IIIF etc), but to be clear you also need a backend to "make" the tiles for you on demand, from the source, in a format that matches the request wire protocol required by the TileSource. For us, the OSD front-end effort was dwarfed by the backend coding required for this.
@chintuuuu take a peek at https://the.pathology network and you will see a bog-standard OSD environment loading SVS and other files.

source = { type: "image", url: "data:image/png;base64,

@JElimpus hello, i cann't see how to attach the z(level), x, y in your ajax request, what i mean is pass the x, y, z from openseadragon to your request, i want to use qwebchannel to request the tiles, hope you can see this after 4 years


New release

You should create a new release/tag since the old import path for CSQLiteMac is still the one being used.

Good catch. Will do that when back on a computer.

Done.

Awesome! Thanks @tannernelson

@tannernelson It's not released yet.

I force updated the 0.1.0 tag. Did it not work?

Ah I see. Needed to clear old packages.

I'm basically always running rm -rf Packages && rm -rf .build && swift build to avoid SPM bugs.


Bug: parser locations are currently always relative the the bit, rather than the file

BPG: v1.0.7
Parser locations are currently always relative the the bit, rather than the file.
If a file has more than 1 bit, then the parser locations for all except the first bit will be incorrect. They will be relative to the bit rather than absolute within the file.
Fix: Make these locations absolute within the file.

I have mostly implemented this now, but it is really hacky.
We really need a code change in Peggy to support it properly.
I have raised the discussion:
https://github.com/peggyjs/peggy/discussions/421
I still need to fix some issues with the location within the card sets.

Released in https://github.com/getMoreBrain/bitmark-parser-generator/releases/tag/v1.0.7


OSLock: HANDLE or DHANDLE?

Not a pull request because I'd like someone on the API team to check this first, but I think the documentation for OSLock should state that the hObject parameter is a DHANDLE not a HANDLE.

for reference, in osmem.h :
void far * LNPUBLIC OSLockObject (DHANDLE Handle);
#define OSLock(blocktype,handle) ((blocktype far *) OSLockObject(handle))
#define OSUnlock(handle) OSUnlockObject(handle)


Include original log file in outputs

Signed-off-by: Edward Z. Yang<EMAIL_ADDRESS>

Stack from ghstack (oldest at bottom):

(to be filled)


Add option to disable parameter types from call completion snippet

rust-analyzer does this thing where if you complete a function, it will only complete the parameter names without the types. This is quite handy because often you want to pass an existing variable in scope to a function; this is very often the case for me when writing C.
The current behavior completes the type as well as the name of the parameter, which requires me to rewrite each and every parameter I want to pass into the function:
void example(size_t x, size_t y);

int main(void) {
  size_t x = 1, y = 2;
  example| // <tab>
  example(|size_t x|, size_t y);
}

What I would like is an option to disable the type names:
int main(void) {
  size_t x = 1, y = 2;
  example| // <tab>
  example(|x|, y);
}

I wrote a proposal for a configuration option that would address this request among others. Feedback is welcome.

I wrote a proposal for a configuration option that would address this request among others. Feedback is welcome.

This proposal has been partially implemented in https://github.com/llvm/llvm-project/commit/18ca7ad3393241b9fc0d5f149247e10837c6f926, which added a new config option called ArgumentLists under Completion to supersede --function-arg-placeholders with something more flexible.
However, implementation of the NamePlaceholders value of this option, which would address this issue, remains to be done. There is an outline of what that implementation would look like in this comment.


adding image.crop([dst,] src, format, width, height)

format may be "c", "tl", "tr", "bl" or "br" for center, top left, top right, bottom left and bottom right, respectively.
doc added.

argh, maybe we make format to be the last argument? wouldn't this break existing code that uses image.crop ?

the only previous way to call crop was image.crop([dst,] src, x1, y1, [x2, y2])
i made sure that both are possible by checking the type of the 2nd (or 3rth if dst is present) argument, so everything is working on my side

ohh i see. Yea, makes sense.


Application generator adding capybara to Gemfile twice

when I execute stationed to generate a new project the Gemfile it generates has capybara listed twice which is causing bundler to fail.
The first time capybara is listed is in the first group :development, :test block
group :development, :test do
Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
Adds support for Capybara system testing and selenium driver
gem 'capybara', '~> 2.13.0'
gem 'selenium-webdriver'
end
It is then listed near the end of the file like this:
gem 'capybara', group: :test
I haven't dug through the code yet to find where these are getting inserted from, that's next on my todo list :)
running ruby 2.4.0 via rbenv on Ubuntu 16.04 if that helps to reproduce.  The version of stationed that was installed with "gem install stationed" was 0.6.0.

I think although this project technically works with Rails 5, it’s not really updated since early 4.x versions. Rails 5 already includes Capybara by default, so Stationed is inserting a duplicate. You can prevent this from happening by using the --no-capybara option, but there might be other incompatibilities or conflicting settings.
I’ll gladly take pull requests to update this project, but I don’t really use it myself.


How to create clickable images?

Hello,
I need to make images clickable.
I have this in my index.js:
      <Block layout="fourColumn">
        {[
          {
            content: 'You are a XX user?',
            image: `${baseUrl}img/xx.png`,
            imageAlign: 'top',
            title: 'XX',
...

I didn't know how to add as attribute.
Any help is more than welcome!

Not doable with Block component provided.

I could solve it by changing the above code into:
      <Block layout="fourColumn">
        {[
          {
            content:`[You are a XX user?](${baseUrl}help.html)`,
            image: `${baseUrl}img/xx.png`,
            imageAlign: 'top',
            title: 'XX',
...

And it worked.


etc/hosts not being used

Please fill out the below information:

Your Windows build number:  (Type ver at a Windows Command Prompt)

Version	10.0.17134 Build 17134

What you're doing and what's happening:  (Copy&paste specific commands and their output, or include screen shots)

I am adding a host to the etc/hosts file
<IP_ADDRESS> demo.test

What's wrong / what should be happening instead:

My machine isn't using the host file under /etc/hosts, it only works if I edit the actual windows hosts file

demo.test resolves here when added to my /etc/hosts. WSL (or more accurately glibc) is not aware of the existence of the Windows host file. I can't quite guess what might be happening for you here, but note that /etc/hosts gets blown away by WSL's init process on instantiation (per comment in the file).


No Kernels Installed

Description:
Installed Hydrogen and the IJavascript kernel. When I run Hydrogen: Update Kernels I get a message back that says: No Kernels Installed - No kernels are installed on your system so you will not be able to execute code in any language.
[Description of the issue]
Steps to Reproduce:

Installed Hydrogen
npm install -g ijavascript
Execute Hydrogen: Update Kernels

Versions:
Which OS and which version of Hydrogen and Atom are you running?
Mac OS X 10.12.6
Atom 12.22.1
Hydrogen 2.1.0
IJavascript 5.0.20
You can get this information from copy and pasting the output of atom --version  from the command line.
Logs:
I turned on debugging, the only thing I see in the console is Hydrogen: findCodeBlock: 0
Please post any error logs and the output of the developer tools as described in our Debugging Guide.

I think you need to run ijsinstall to fully setup ijavascript: https://github.com/n-riesco/ijavascript#ijsinstall-ijavascript-kernel-spec-installer

Feel free to reopen if you need more help.

I tried to install ijsinstall but does not work.
In the pic  the log (running as admin)

And actually this page https://registry.npmjs.org/ijsinstall is empty

Did you already npm install -g ijavascript? If so try running ijsinstall since it is a part of ijavascript once that is installed

That was the first thing I did as recommended. But the only thing that worked for me was to put the JS kernel here:

Anyway, I would recommend to follow "the Python way" to structure the folder tree. It is much more intuitive

For future readers:

I don't recommend the installation of ijavascript using the admin account (unless you know what you're doing)
if after running npm install -g ijavascript, you can't run ijsinstall (because it isn't in your PATH), it can be run using the following command instead %appdata%\npm\ijsinstall


IndexError: list index out of range

Hi Smit,
I trained NER model using your repo + added some custom data. When I run predictions on custom dataset, it works fine on most files, but about 20% of files get the following error:
Prediction: 100%
1/1 [00:00<00:00, 4.22it/s]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
[<ipython-input-33-ad82028bb83c>](https://localhost:8080/#) in <module>()
----> 1 ner_predictions = get_ner_predictions(ehr_record=text, model_name="biobert")
      2 text_ner = ner_predictions.get_entities()

2 frames
[/content/ehr.py](https://localhost:8080/#) in get_char_idx(self, token_idx)
    319             raise AttributeError("Tokenizer not set.")
    320
--> 321         char_idx = self.token_to_char_map[token_idx]
    322
    323         return char_idx

IndexError: list index out of range

Would you know where the issue might be, please?
Thank you!

I think I might've seen this before. Can you paste the detailed error here? The 2 frames between the entry point and the error are hidden here

Thanks @smitkiri !
Here is a full error print out:
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
[<ipython-input-9-0646245b0df3>](https://localhost:8080/#) in <module>()
----> 1 ner_predictions = get_ner_predictions(ehr_record=txt, model_name="biobert")
      2 text_ner = ner_predictions.get_entities()

3 frames
[/content/predict.py](https://localhost:8080/#) in get_ner_predictions(ehr_record, model_name, record_id)
    267                                 tokenizer=biobert_ner_tokenizer.tokenize,
    268                                 is_bert_tokenizer=True,
--> 269                                 is_training=False)
    270
    271         predictions = get_biobert_ner_predictions(test_ehr)

[/content/ehr.py](https://localhost:8080/#) in __init__(self, record_id, text_path, ann_path, text, tokenizer, is_bert_tokenizer, is_training)
     66         self.is_bert_tokenizer = is_bert_tokenizer
     67         self.elmo = None
---> 68         self.set_tokenizer(tokenizer)
     69         self.split_idx = None
     70

[/content/ehr.py](https://localhost:8080/#) in set_tokenizer(self, tokenizer)
    278         self.tokenizer = tokenizer
    279         if tokenizer is not None:
--> 280             self._compute_tokens()
    281
    282     def get_token_idx(self, char_idx: int) -> int:

[/content/ehr.py](https://localhost:8080/#) in _compute_tokens(self)
    217             # Characters that are discarded from tokenization
    218             while self.text[j].lower() != self.tokens[i][k].lower():
--> 219                 char_to_token_map.append(char_to_token_map[-1])
    220                 j += 1
    221

IndexError: list index out of range

I have been googling this, and tried different suggestions, but neither fixed it (like setting model and tokenizer vocal len, not using FastTokenizer etc).

Also just tried to generate dataset on new files and am getting the same error...
Progress: [===================>] 201/202./data/n2c2_2018_LAG/test/157103.ann
Progress: [====================] 202/202

ADE data: Done

Traceback (most recent call last):
  File "generate_data.py", line 229, in <module>
    main()
  File "generate_data.py", line 217, in main
    ner_generator(files, args)
  File "generate_data.py", line 97, in ner_generator
    generate_input_files(ehr_records=data[0], ade_records=data[1],
  File "/Users/lsolis/Documents/GitHub/PAH_publications/ehr/ehr-ner/train_model_v3/biobert_ner/utils_ner.py", line 333, in generate_input_files
    labels = record.get_labels()
  File "/Users/lsolis/Documents/GitHub/PAH_publications/ehr/ehr-ner/train_model_v3/ehr.py", line 348, in get_labels
    start_idx = self.get_token_idx(ent.range[0])
  File "/Users/lsolis/Documents/GitHub/PAH_publications/ehr/ehr-ner/train_model_v3/ehr.py", line 299, in get_token_idx
    token_idx = self.char_to_token_map[char_idx]
IndexError: list index out of range

Okay so this is what's happening here: The value of text[j] (where I'm pretty sure j==0) doesn't match the value of tokens[i][k] (again, I'm pretty sure i==0, you can double check that by printing them out). You can print out the value of text[j:j+10] and tokens[i] to see if something's weird. My guess is that the text starts with ##? Let me know if that's the case

Closing this since it's been inactive for a while. Feel free to re-open this if you still face any issues.


Add GHA CI

This is a first pass at using GHA instead of Travis for CI. It should perform the same actions as Travis currently does.
Currently this doesn't perform any caching; we could cache both the pip downloads for YoWASP and the built WASM objects fairly easily if that's desirable. This doesn't remove the Travis CI file either.
[This is a draft, I expect it will need a few updates before it all runs OK]

GHA isn't triggering for this PR because it's from a fork. I've opened a PR to master on my fork where GHA does then trigger, so you can view the result here: https://github.com/adamgreig/glasgow/pull/1
Once the workflow exists in the upstream repository, it should run for subsequent PRs, including from forks.


Implement connection to LINE Platform

Is your feature request related to a problem? Please describe.
There aren't any ways for a user to connect to a LINE Platform at the moment.

Implemented but the Backend is not ready to link the account, So I'll close this as done only for the frontend-side while creating another ticket for linking the account with backend


MNT: Re-rendered with conda-build 3.19.2, conda-smithy 3.7.5, and con…

After adding vtk-dependency we forgot to rerender...
once this PR is merged we need to set all occt-builds dependent on vtk to broken
…da-forge-pinning 2<IP_ADDRESS>.14.20

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/core I need to split the package into two packages:

occt
occt-vtk

occt-vtk depends on vtk and is basically one library (3 files): lib/libTKIVtk.so lib/libTKIVtk.so.7 lib/libTKIVtk.so.7.4.0
What's the easiest way to do that?

Use outputs. See the conda build documentation.

@adam-urbanczyk is it ok if we merge this one before jumping to vtk9? I would like to have the pinning fixed for occt with vtk8.2.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The recipe must have some tests.

Sure, no problem @looooo


fix: add firewall rule and open listen port on os

The LB firewall is already present: https://github.com/bschaatsbergen/terraform-gce-atlantis/blob/4193c79dc41ea86424345c4d7aa846c2c4cefbe8/main.tf#L305

Thanks for your contribution :tada: :clap:


Snapshot permissions with feature flag

Which issue this PR addresses:
Fixes https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/7480894/
What this PR does / why we need it:
Continues the work started in https://github.com/Azure/ARO-RP/pull/837 by putting the additional permissions added by @troy0820 and required for disk snapshots behind a new feature flag, Microsoft.RedHatOpenShift/EnableSnapshots.
This feature flag will add necessary exceptions (in the form of NotActions) to the DenyAssignment for the storage ARM template during cluster creation and upgrade.
Test plan for issue:
TBD
Is there any documentation that needs to be updated for this PR?
This will be documented alongside the other feature flag documentation.

This is close, but doesn't handle the cluster upgrade case yet. Tempted to get this merged and then do cluster upgrade as a follow up PR?

My mistake - while I did alter AdminUpdate, I didn't touch AdminUpgrade, which omits deployStorageTemplate from its steps. I'll work on adding a new step for that in this PR, but if needed we can add that later like you said.

/azp run e2e

/azp run e2e

/azp run e2e


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1840

Questions ?
Please refer to the Backport tool documentation


Always on top window feature

Can we have always on top window here, it'll very useful for debugging.

https://github.com/Genymobile/scrcpy#always-on-top

Thanks for pointing it out


Fix SAML decoding issue

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

Coverage increased (+0.006%) to 45.316% when pulling 9784c814164155eb7e344dca5ced6111bd90a1af on leleuj:samldecodingissue-52x into 38cde096a0c6b3876dc271b8beb7265d78f4ccbd on apereo:5.2.x.


[Feature] Add "exactInput" option

Hey !
I have a slider going from 100 000 up to 250 000 with a step of 100. Associated to the slider is an input in which the user can adjust the price. The issue i'm facing is that if the user types 123 456 for example, the value will automatically be rounded to the nearest step which is 123 500.
There is an option in NoUiSlider which allows the value to be set exactly but is not currently usable with the SLider component. Would it be possible to have it as a boolean option ?
NoUiSlider related doc : https://refreshless.com/nouislider/slider-read-write/#section-setting)
Thanks in advance !

Can pass options to the noUiSlider directly via options prop. Also slider is a property of the Slider component which exposes the noUiSlider instance, so you might use its functions directly.


U - Firefox 79 release docs (July 28th)

User story
As a web developer, I want to know how about new features in the latest Firefox release.
Acceptance criteria

[x] Firefox 79 release notes are updated with all DDN and DDC bugs.

[x] Experimental Features page is updated.

[x] platform-status is updated accordingly.

[x] Hacks blogpost written about Fx 79 new features

[x] Links to the Fx hacks blog post is added to the rel notes on MDN.

[x] A new version of the mdn-data npm package is released, if changes were made in the last sprint.

[x] The BCD browser json files mark Firefox 79 as the current release

I've checked all of this out:

79 rel notes look to be finished, and changed so that it says it is released.
Hacks post published, and link to it added to Fx 79 rel notes
Not sure if we need any updates to Experimental features and platform-status; couldn't see anything obvious
Didn't do a data package push; struggling for time, and only one very small change made in the last month
PR to update Fx versions on the BCD repo: https://github.com/mdn/browser-compat-data/pull/6446/files


ci: update renovate.json

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


AB#6272 Create TV Display for Individual Rooms

Important: see the notes in a task comments.

@jflheureux I pushed code review fixes, will rebase Speaker Details on this branch again, and close this PR to make it simpler to review/merge. Speaker Details branch will include these changes anyway, as well as some improvements to this feature.


TypeError: Cannot read properties of undefined (reading '_c')

I am trying to include a lottie animation in a vue 3 project with snowpack. Unfortunately no animation shows up and I get an error from the vue rendering engine:
TypeError: Cannot read properties of undefined (reading '_c')
    at Proxy.__vue_render__ (lottie-web-vue.v1.2.0.js:151)
    at renderComponentRoot (@vue.runtime-core.v3.2.22.js:232)
    at ReactiveEffect.componentUpdateFn [as fn] (@vue.runtime-core.v3.2.22.js:3301)
    at ReactiveEffect.run (@vue.reactivity.v3.2.22.js:149)
    at setupRenderEffect (@vue.runtime-core.v3.2.22.js:3383)
    at mountComponent (@vue.runtime-core.v3.2.22.js:3237)
    at processComponent (@vue.runtime-core.v3.2.22.js:3208)
    at patch (@vue.runtime-core.v3.2.22.js:2855)
    at mountChildren (@vue.runtime-core.v3.2.22.js:3017)
    at mountElement (@vue.runtime-core.v3.2.22.js:2942)

I tried to stick as closely as possible to the example but had to change it a little to work with snowpack. I tried to confirm the correct input into the lottie-player tag by printing out both the animation and lottie-animation tag, both appear fine. This is my code:
<template>
    <div>
        <lottie-animation
        ref="anim"
        :animationData="animation"
        :loop="true"
        />
    </div>
</template>

<script lang="ts">
import { defineComponent, ref, onMounted } from "vue"
import LottieAnimation from "lottie-web-vue"
import animation from "../../../assets/settings/theme_lottie.json"

export default defineComponent({
    components: {
        LottieAnimation,
    },
    setup() {
        const anim : any = ref(null)

        onMounted(() => {
            // the DOM element will be assigned to the ref after initial render
            console.log(anim)
            console.log(animation)
            anim.value.play()
        })

        return {
            anim,
            animation,
        }
    },
})
</script>

Do you have any idea why it is not working and what I might be doing wrong? Help is greatly appreciated!

Same here, using vue3 without typescript.
Works great in Vue 2, though.

same vue3, how to fix?

Thanks for raising this @Noxdor - will take a look and reproduce. Any chance you could create a test repo so I could check it out?

I think I have the same problem, see: https://codesandbox.io/s/infallible-snowflake-mknvm

Is there any update to this? I'm still getting this error on Nuxt

Hi Sanjay,
I've been working on a branch to try and upgrade to vue 3 which I'll try
push in the next few days once I have it working.
Apologies for the delay.
On Sun, 16 Jan 2022 at 06:57, Sanjay Soundarajan @.***>
wrote:

Is there any update to this? I'm still getting this error on Nuxt
—
Reply to this email directly, view it on GitHub
https://github.com/garbit/lottie-web-vue/issues/6#issuecomment-1013822220,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEHTBERTFSX4KEIP4CWZJLUWJT53ANCNFSM5JHDBXPA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Hello. Vue3 - problem still exists.

I think the author might be too busy. I ended up creating my own library to handle my Lottie implementations. Although truth be told you can do everything without a library too as I found out. I really dislike doing this on another OSS project but if anyone needs a maintained package: https://github.com/megasanjay/vue3-lottie

Hi all, I've now added Vue 3 support to the plugin. My apologies for the delay!
Thanks @megasanjay for stepping in and assisting in the meanwhile - your implementation has great documentation.
Thank you all for your patience.


Node.js implementation

Do you have any plan to add Node.js implementation? Any info on that?

No plan at this time, although you could probably ask ChatGPT to translate the code an get something pretty similar.


Code style/formatting

These stylistic/formatting things seem obvious to me, but multiple modules do not consistently conform to all of them:

Function signatures

Parameters of multiline function signatures should be aligned vertically.
[ref=PEP 0008:Indentation]:

Continuation lines should align wrapped elements either vertically using Python's implicit line joining inside parentheses, brackets and braces, or using a hanging indent.
Yes:
   # Aligned with opening delimiter.
   foo = long_function_name(var_one, var_two,
                            var_three, var_four)

Parameters of multiline function signatures should not have unnecessary trailing white spaces.

Input parameter defaults should have no spaces around the =. e.g. param='default', not param = 'default'
[ref=PEP 0008]:

Don't use spaces around the = sign when used to indicate a keyword argument or a default parameter value.
Yes:
   def complex(real, imag=0.0):
       return magic(r=real, i=imag)

No:
   def complex(real, imag = 0.0):
       return magic(r = real, i = imag)

New line continuation (\) should have space between last character and backslash (e.g. palettable.colorbrewer \, not palettable.colorbrewer\). This is a little more subjective, but it looks better to me this way, and the PEP 0008:Maximum Line Length example does it this way.

Math should generally have spaces between operators and variables unless compact grouping makes it more readable for long expressions (e.g. y = m*x + b instead of y=m*x+b).
[ref=PEP 0008]:

If operators with different priorities are used, consider adding whitespace around the operators with the lowest priority(ies). Use your own judgment; however, never use more than one space, and always have the same amount of whitespace on both sides of a binary operator.
Yes:
   i = i + 1
   submitted += 1
   x = x*2 - 1
   hypot2 = x*x + y*y
   c = (a+b) * (a-b)

No:
   i=i+1
   submitted +=1
   x = x * 2 - 1
   hypot2 = x * x + y * y
   c = (a + b) * (a - b)

Errors

Error messages should not end with period. More subjective, but PEP 0008 examples don't have periods in their messages.

Double quote for error messages (or any string facing the user). As opposed to single quote to represent literal strings as variables.
PEP 0008:String Quotes explicitly doesn't make a call here, but a popular Stack Overflow answer states:

I like to use double quotes around strings that are used for interpolation or that are natural language messages, and single quotes for small symbol-like strings

Raise errors, don't use assert.
[ref=Stack Overflow]:

Asserts should be used to test conditions that should never happen. The purpose is to crash early in the case of a corrupt program state.
Exceptions should be used for errors that can conceivably happen, and you should almost always create your own Exception classes.

Avoid lines with more than 80 characters.
[ref=PEP 0008:Maximum Line Length]:

Limit all lines to a maximum of 79 characters.
For flowing long blocks of text with fewer structural restrictions (docstrings or comments), the line length should be limited to 72 characters.

No commented out code without good reason.

Docstrings [ref=PEP 0257]

No space between function declaration and docstring?

Closing triple quote (''') (""") should be on its own line.
[ref=PEP 0257:Multi-line Docstrings]:

Unless the entire docstring fits on a line, place the closing quotes on a line by themselves.

End first docstring line with a period? I've seen different functions go either way on this, but I think the period makes more sense to me.

Might be better to find a more widely used alternative format for specifying parameters and return values. I initially came up with something that was intuitive to me, but I've seen a different format used online which may be more prevalent (i.e. in NumPy, SciPy, etc.). e.g. :
'''
Description.

Parameters
----------
X : array_like

Returns
----------
r : array_like
'''

Code now complies with the recommendations laid down here. For individual violations, please open new issues.


[kmac] Question re. KMAC idle indication

This came up during the development of alert_handler_lpg_clkoff test.
The test requires the SV side to inject a fatal fault in KMAC. Then, the SW turns off the KMAC clock, and after some delay turns it back on, and then verifies that the fatal alert is still there.
The problem is, when the fault is injected in the first step, the following logic results in a local escalation to be signaled to all components inside KMAC:
https://github.com/lowRISC/opentitan/blob/d61f2c48937582bd551895d30357a37fae583bd4/hw/ip/kmac/rtl/kmac.sv#L1414
The immediate local escalation puts the SHA3 FSM in an invalid state, which immediately flips the idle_o indication from true to false:
https://github.com/lowRISC/opentitan/blob/d61f2c48937582bd551895d30357a37fae583bd4/hw/ip/kmac/rtl/kmac.sv#L537
If the idle_o indicated is false, the next step in the test, which is to clock-gate KMAC fails.

This behavior was not observed in AES - it looks like AES does not have a local escalation logic. It was not observed in HMAC either (it does not even have global escalation input).

@cindychip @bilgiday @tjaychen for reference.

is the reason we want to check the alert after clock disable that alert handler's lpg functions don't disturb alerts that are already there?
If that's what we're looking for, would triggering an alert through ALERT_TEST afterwards be sufficient? Mostly we just need to prove that after an lpg off event the prim alert sender is still working right? Was the intent of this test?

is the reason we want to check the alert after clock disable that alert handler's lpg functions don't disturb alerts that are already there?
If that's what we're looking for, would triggering an alert through ALERT_TEST afterwards be sufficient? Mostly we just need to prove that after an lpg off event the prim alert sender is still working right? Was the intent of this test?

According to the testplan entry description:
https://github.com/lowRISC/opentitan/blob/98bd47a79e5f4191c3e233bfd7b6576c0109f2fc/hw/top_earlgrey/data/chip_testplan.hjson#L1474
IIUC, the intent of the test is to verify the persistence of fatal alerts, which could be hampered by a clock gating event. If the clock to the peripheral firing a fatal alert somehow gets gated, the fatal alert firing would stop. The intent is to prove that when the clock is turned back on later, the fatal alert that triggered in the past continues to fire (or in short, prove that the clock gating event did not somehow impair the FSM in prim_alert_sender). Others can probably explain better.

hmmm.. i see. I was thinking that we just need to test the alert firing mechanism is still working after an LPG reset, but if the intent is to test fault persistence then that's different.
@eunchan do you recall if there was any specific reason to indicate not idle while in error state?
I don't think reporting "not idle" is incorrect, but if it's an easy fix we may as well do it.
Another option we could take is just to initiate a shallow sleep. That won't reset anything, but will still force clocks to turn off and on.

For reference, the testplan was originally updated by @cindychip in this PR: https://github.com/lowRISC/opentitan/pull/13153.

do you guys think the shallow sleep approach would work for the purposes of this test?

@tjaychen, actually we have a new test in the chip testplan: chip_sw_alert_handler_lpg_sleep_mode_alerts
https://github.com/lowRISC/opentitan/blob/b65e2705eb4ee814b46939d44f84d1adfee133c3/hw/top_earlgrey/data/chip_testplan.hjson#L1266-L1275
This test and the fatal alert part of the lpg_clkoff test looks very similar to me. I wonder if chip_sw_alert_handler_lpg_sleep_mode_alerts test also covers the the fatal alert part of the lpg_clkoff test. If that is the case, we can just drop the fatal alert part from the lpg_clkoff test, and we can use Sri's sequence for the chip_sw_alert_handler_lpg_sleep_mode_alerts.
@sriyerg, @cindychip, WDYT? Would it be possible?

It seems to be easy change not to lower the idle in case of error msg. But I think the current behavior is more safe? Conceptually, if error occurs, staying in active and reporting the errors to local processor are better than giving a chance to turn the module off (due to idle).

I agree, I think the current behavior is safer.

For reference, the testplan was originally updated by @cindychip in this PR: https://github.com/lowRISC/opentitan/pull/13153.

I think the intention of this testpoint is to make sure: say if fatal alert just fired, but the system somehow turned off the IP's clock, we are still able to see fatal alert keep firing afterwards.

@tjaychen, actually we have a new test in the chip testplan: chip_sw_alert_handler_lpg_sleep_mode_alerts

We can cross reference them!

I think rather than Xref, IMO we can keep the scope separate since chip_sw_alert_handler_lpg_sleep_mode_alerts sorta covers the test intent "fatal alerts persist across a clock gating event".
I propose the following next steps:

Reduce the scope of chip_sw_alert_handler_lpg_clkoff test to indicate that it verifies that the alert ping system is stable across an LPG clock gating event for all LPGs
Modify the test in PR #16193 such that the "test phase 2" portion of the clkoff test is moved to a new C test to verify chip_sw_alert_handler_lpg_sleep_mode_alerts, The SV part of clkoff test can be slightly updated and reused for the sleep mode test.
Modify the C test the randomly enter normal / deep sleep AFTER the SV side injects a fatal alert.
I will submit PR #16193 and let @bilgiday make the changes outlined above.

Does this sound good to all?

I wouldn't be surprised though, if we find out that the injection of fatal alert somehow also prevents us from going into sleep. In any case, it will be an interesting test to develop.

This test and the fatal alert part of the lpg_clkoff test looks very similar to me. I wonder if chip_sw_alert_handler_lpg_sleep_mode_alerts test also covers the the fatal alert part of the lpg_clkoff test. If that is the case, we can just drop the fatal alert part from the lpg_clkoff test, and we can use Sri's sequence for the chip_sw_alert_handler_lpg_sleep_mode_alerts.
@sriyerg, @cindychip, WDYT? Would it be possible?

Yes that sounds very good to me.

sounds good to me.

btw, since we have a plan for the tests, should we close this issue down? Or i guess we should do that after we update the testplan?


tests: add tests for task_item module

Checklist

[x] Ensure PR title matches the conventional commits format.

CodiumAI Agent Commands
As required run the following CodiumAI Agent commands:

Request PR review using @CodiumAI-Agent /review (and if required, request an incremental update with @CodiumAI-Agent /review -i)
Request PR improvement suggestions with @CodiumAI-Agent /improve --extended
Request PR update using @CodiumAI-Agent /describe

@CodiumAI-Agent /review

PR Analysis

🎯 Main theme: Adding tests for the task_item module and improving test coverage.
📝 PR summary: This PR focuses on improving the test coverage for the task_item module. It introduces new tests for the TaskItem class and its methods. It also includes some minor changes in the task_item module itself, such as adding a eq method to the TaskItem class.
📌 Type of PR: Tests
🧪 Relevant tests added: Yes
⏱ Estimated effort to review [1-5]: 2, because the PR is mainly about adding tests, which are straightforward to review. The changes in the task_item module are also minimal and easy to understand.
🔒 Security concerns: No security concerns found

PR Feedback

💡 General suggestions: The PR is well-structured and focuses on improving test coverage, which is a good practice. The tests added seem to cover the main functionalities of the TaskItem class. However, it would be beneficial to also consider edge cases and error handling in the tests.

 🤖 Code feedback:

relevant file: ado_asana_sync/sync/task_item.py
suggestion: Consider adding a ne method to complement the eq method in the TaskItem class. This will provide a complete interface for comparing TaskItem instances. [medium]
relevant line: def eq(self, other: Any) -> bool:

relevant file: tests/sync/test_task_item.py
suggestion: It would be beneficial to add tests for the eq method in the TaskItem class. This will ensure that the method works as expected. [medium]
relevant line: class TestTaskItem(unittest.TestCase):

relevant file: tests/sync/test_task_item.py
suggestion: Consider adding tests that check for the correct handling of edge cases and errors. For example, what happens if the find_by_ado_id method is called with an invalid ID? [medium]
relevant line: def test_returns_task_item_with_matching_ado_id(self):

How to use

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review [-i]: Request a review of your Pull Request. For an incremental review, which only considers changes since the last review, include the '-i' option.
/describe: Modify the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest improvements to the code in the PR. Extended mode employs several calls, and provides a more thorough feedback.
/ask <QUESTION>: Pose a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.

To edit any configuration parameter from configuration.toml, add --config_path=new_value
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, use the /config command.

How to use PR-Agent

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review [-i]: Request a review of your Pull Request. For an incremental review, which only considers changes since the last review, include the '-i' option.
/describe: Modify the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest improvements to the code in the PR. Extended mode employs several calls, and provides a more thorough feedback.
/ask <QUESTION>: Pose a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.

To edit any configuration parameter from configuration.toml, add --config_path=new_value
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, use the /config command.


Remaining Wave 7 translation

-Translated all the Kihraxz cards
-Translated Twin Ion Engine, as somehow I missed it when I did the Punisher.

-Translated Ion Projector's name, as there was still the placeholder I used (copy-pasting the closest "name:" I see, Shield Technician on this case)