Registering the Bangalore Azure community

Registering the Bangalore Azure community

Thanks, Magnus, for looking into this.  attaching the index file. Use this latest index file please 🙂 .
This Sessionize ID is working for us https://sessionize.com/app/organizer/event/10862
[cid:bc859433-e6e1-4678-a8e0-37be573caadf]

From: Magnus Mårtensson @.>
Sent: Wednesday, March 22, 2023 3:08 PM
To: globalazure/communities @.>
Cc: Keshav1308 @.>; Mention @.>
Subject: Re: [globalazure/communities] Registering the Bangalore Azure community (PR #169)
@noopman requested changes on this pull request.
This is looking very good indeed! Thanks for the progress on this @Keshav1308https://github.com/Keshav1308 and @samikroyhttps://github.com/samikroy.

Can you verify the "SeeionizeApiId" please. I'm not sure it looks right. When I check it the result is 404.
I need an index.md file in the folder for you! Please look in other folders next to yours for inspiration what other communities did!

—
Reply to this email directly, view it on GitHubhttps://github.com/globalazure/communities/pull/169#pullrequestreview-1352098809, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGDHQWEDPUPUXIPTYVTO6V3W5LCBHANCNFSM6AAAAAAWBC652E.
You are receiving this because you were mentioned.Message ID: @.***>

Thanks, Magnus, for looking into this. attaching the index file. This Sessionize ID is working for us https://sessionize.com/app/organizer/event/10862 [cid:bc859433-e6e1-4678-a8e0-37be573caadf]

@Keshav1308 this is still confounding me. Here is an example Sessionize ID that works: w84xg5cq. It can be verified by browsing to the API endpoint of the event like this: https://sessionize.com/api/v2/w84xg5cq/view/Sessions The endpoint is present and shows that there are currently no published sessions at this event.
When I do the same with your ID this is the result: https://sessionize.com/api/v2/10862/view/Sessions 404!
I think you are using the event ID but not the API ID. Please look into your sessionize event and see if you can find the event's unique API ID!

You also need, please, to add an index.md file to your folder in this PR!

Adding Samik Roy.
Hi<EMAIL_ADDRESS>,
We need the event's unique API ID!
Regards,
Keshav Jain.

From: Magnus Mårtensson @.>
Sent: Wednesday, March 22, 2023 3:45 PM
To: globalazure/communities @.>
Cc: Keshav1308 @.>; Mention @.>
Subject: Re: [globalazure/communities] Registering the Bangalore Azure community (PR #169)
You also need, please, to add an index.md file to your folder in this PR!
—
Reply to this email directly, view it on GitHubhttps://github.com/globalazure/communities/pull/169#issuecomment-1479275741, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGDHQWFIHYYI53NHVO6HJGLW5LGK7ANCNFSM6AAAAAAWBC652E.
You are receiving this because you were mentioned.Message ID: @.***>

Great with the index.md file. It looks very good. Now we only need to ensure you have the right Sessionize API ID in the file!

Great with the index.md file. It looks very good. Now we only need to ensure you have the right Sessionize API ID in the file!

@noopman  - Thank you for sharing this.
Could you please have a look if this one you are looing for
https://sessionize.com/api/v2/o6kupum9/view/Sessions
CC- @Keshav1308


in IOS image is not print, it is print 10% image and then disconnect

Hi, could you provide your exact code and the image, please?

same issue here in IOS when printing QRCode image, but works fine in android,here is the code
ByteData data=await QrPainter(
gapless: true,
data: url,
version: QrVersions.auto,
).toImageData(150);
final Uint8List bytes = data.buffer.asUint8List();
final Image image = decodeImage(bytes);
ticket.image(image);

Hum... Same code / same printer works differently from Android and iOS?

@andrey-ushakov yes.

the printer is Xprinter  (XP-58IIH) ,
by the way, i'm using esc_pos_bluetooth lib

Xprinter XP-58IIH is a Bluetooth printer? Here in the comments it says it has no Bluetooth...
BTW I have Xprinter XP-N160I (WiFi, not Bluetooth) and it works just fine on Android and iOS.
Could you please provide your full code, please? I will test it on my Xprinter / iOS.
Thanks!

Hi @andrey-ushakov
i just download your esc_pos_bluetooth project and modifed below:
and my printer model is attached  ,it supports USB and Bluetooth.
`
static Future testPrinter2_1() async {
final Ticket ticket =Ticket(PaperSize.mm58);
ticket.text('Test 1. Images',styles: PosStyles(align: PosAlign.center), linesAfter: 2);
String url="http://receipt.testandtest.com/testreceipt/api/orderreceipt?dir=15&receiptID=200314100361747&source=2&sign=NGQ3MmQ3MfddhYTZkN2Q3NmMyMWQ2OTM5NWIzMWNhZDQ3YzZiODFmMzY3Yzk1NWVjN2M0ZmM5YmM1YWE1YmZlNQ=="
ByteData data=await QrPainter(
  gapless: true,
  data: url,
  version: QrVersions.auto,
).toImageData(150);
final Uint8List bytes = data.buffer.asUint8List();
final Image image = decodeImage(bytes);

ticket.text('Command: ESC *');
ticket.image(image);

ticket.feed(5);
return ticket;

}
`

related issue: https://github.com/andrey-ushakov/esc_pos_bluetooth/issues/5


can you add 2 or 3 finger back/forwards swipe functionality?

chrome has 2 finger swipes built in, but for windows explorer and other apps it would be nice to have.

This could be a feature, but we would need to make sure this does not prevent from scrolling horizontally when possible.
I will think about this, if the gesture is well-defined, it could work.

Bottom left touchpad press(not click or tap) for back and bottom right press for forwards. It is reasonable and usable. @ClementGre

I'd say 2 finger swipe from the edge is more intuitive and universal, sinced it's what's being used in webrowing already anyways.

good method too


Very simple jitter buffer

This PR implements a very simple jitter buffer by delaying the process of reading audio out of the AudioDecodingBuffer and substituting silence when new audio data from the network is unavailable. See #52 for more.

Thanks @trevorirwin :)


AWS Assume Role

Hello,
I’d like to publish the static content of a WordPress site to an AWS S3 bucket.
In our company, we have some restrictions in the AWS cloud accounts. One of them is, that the user can only assume a role. Only the role then gives the user permissions to e.g. upload to S3.
Unfortunately the ‘assume role’ concept is not built into WP2Static, eventhough this pattern is quite common.
Are there any workarounds?
Best
Fabian

should be working fine for some time now. please let me know if still facing issues using instance role


File Search - Prioritise File Path Match Over Fuzzy

VSCode Version: 1.0.0
OS Version: Windows 7

Steps to Reproduce:

Open 'Go to File' (ctrl + p)
Type in the path of a file that also results in fuzzy matches.

Currently filepath matches are not prioritised over fuzzy matches, making it difficult to find what you are looking for when dealing with a large number of files.
Potentially this is related to not handling filepaths/slashes correctly. If I replace the slash with an asterisk in the above example (i.e. 'includes*functions.php' rather than 'includes/functions.php') this file then becomes the top result.

This got fixed in https://github.com/Microsoft/vscode/issues/3818
You can give it a try from our insiders release today: http://code.visualstudio.com/Download#insiders

This is not fixed. Adding a path before a file makes the search worse, not better.

Even when the file name and folder name are matched exactly:

Version 1.9.1 (1.9.1)


Please help

I'm getting this issue when I try to use the script. I followed the instructions exactly.

Remove this line import { upload } from 'youtube-videos-uploader' //Typescript
After that there should be this line const { upload } = require('youtube-videos-uploader'); //vanilla javascript
Both lines import the library, but the first one only works in typescript or in ES6.

Paid support is available for quick resolution & help.
For paid support, please write mail to<EMAIL_ADDRESS>


This method is returning NULL for packages installed by default on Windows 10.

As posted below. The method is returning NULL for packages installed by default on Windows 10. What could be a reason?
https://stackoverflow.com/q/55270248/1232087

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: aad2072a-e249-6d75-7770-8e9f05917f63
Version Independent ID: 36891e06-dd39-14fb-8559-5bbf6e4f7574
Content: PackageManager.FindPackageForUser(String, String) Method (Windows.Management.Deployment) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.management.deployment.packagemanager.yml&version=GBlive&_a=contents
Product: uwp
Git Login: wdg-dev-content
Microsoft Alias: wdg-dev-content

Thanks for taking the time to let us know about this and I sincerely apologize for the delayed response. The right channel for this would be Microsoft Q&A. The community of Microsoft engineers and experts can offer timely answers to a multitude of technical questions surrounding windows-uwp.

Thanks for taking the time to let us know about this and I sincerely apologize for the delayed response. The right channel for this would be Microsoft Q&A. The community of Microsoft engineers and experts can offer timely answers to a multitude of technical questions surrounding windows-uwp.


Add an asset by it's contract address

It's ok that suggested assets comes from the API, but we should be able to paste new contact address

[ ] Be sure that we can add liquidity to non existing pairs
[x] Find a way to verify if a contract address is a token
[x] Implement

Solved in https://github.com/soroswap/frontend/pull/210

All working, there is an error now after providing liquidity to this tokens. Main liquidity page wont load correctly

Hei @joaquinsoza
We are supposed to try this with tokens that are not in the menu.
Please take out these "random tokens" from the menu

If I paste any address (that is not a token, not even a contract, I see a bug)

There are a lot of errors when trying to paste something that is not a token

All working, only thing missing is being able to add the token by SYMBOL:ISSUER

Now you can search an asset by its code and issuer, and it will be wrapped into a soroban address


Frontend user pages

Description
Bug fixes and user pages connect with backend
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change status

[ ] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[x] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Test: localserver
[ ] Test B

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

We can do another pr for auth / token when this is merged to master


Update baseLibraries.js

What I did

Replaced the incorrect stencil package reference with what I believe is correct: @stencil/core

 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.

Looks like this has already been addressed!


In Android, if the phone goes to sleep, Hls stops playing

Steps to Reproduce

On an Android phone, open Chrome with a url to a page with an audio tag that has an hls source (see this example)
Play the audio
Let the phone go to sleep

Result
The music stops playing
Expected Result
The music continues to play

I noticed here that SUPPORTS_NATIVE_HLS is true if the browser is Chrome in Android. This makes that canPlayType on the html5 renderer returns true and then here the html5 renderer ends up being used for the hls source.
Is there a reason why SUPPORTS_NATIVE_HLS is set to true if the browser is Chrome in Android? Has this been tested on multiple devices?
Thanks

Closing issue, as #2720 has been merged.
Fix will be available in upcoming 4.2.15
Thanks a lot for the PR !


Language support for VSCode?

Thanks for the awesome project!
I'm considering using expr embedded within a product, however I'd want to ensure my end users get syntax highlighting within their editor (VSCode support as a minimum). Without this end users aren't going to have the best possible experience.
I can't really expect them to use the standalone expr editor given that by its nature this is embedded within other syntaxes and contexts (so users pulling out the expression to work on in another editor is too much friction).
I can see on the docs site you've got expr blocks highlighted and you're using prism, but I couldn't track down how that was being implemented.
Do you already have a TextMate grammar, language server or VSCode extension? If not, can something along these lines be added?

VSCode extention for Expr is in the works. 😉
But difficult comes with providing Env completions and embedding in other languages. For now it will be more like a separate highlighter for separate files.
How do you use Expr? How do you think highlighter should work?

For us, expressions will appear within a yaml block which is in turn within markdown frontmatter.
Completions etc would be lovely, but the main things are highlighting (followed by diagnostics).
For highlighting - if there's a TextMate language/grammar spec created for your VSCode extension, then that can also be embedded in other language extensions created by users adding expr to their tools. Language only extensions are pretty straightforward to create - HCL is one example here.
For diagnostics - there's a few ways to skin this cat, but as long as we can run validation of an expression without choking on the absence of runtime variables then users can create their own diagnostics and a lightweight language server.
Of the two, diagnostics is likely the easier to solve as a user of expr, but the highlighting really isn't something I'd want to be implementing from the outside without any formal spec for the language.
Would you be able to share/open source whatever code you have that enables highlighting of expr on the docs site? I imagine that would massively speed up any attempts to create embedded highlighting.

Sure. Will try to shape it into some sort of a package.
But how you will embed one grammar into YAML?
This is actually possible with Expr Editor, btw.

Perhaps I've misunderstood Expr Editor, but I thought it was a standalone tool.
If that's the case, then I couldn't really make use of it in the context Expr is used. My end users will be editing my config syntax within their own IDEs, with Expr being one part of that wider syntax. It'd be a big ask to have them change their local dev flow and tooling in order to make best use of the expression syntax I've chosen.
You can embed languages by matching the key and defining it as using a specific grammar. GitHub Actions do this with the GitHub Actions VSCode extension (also on their expressions). If you check that out, you'll notice that whilst it's YAML, the if statements still highlight correctly rather than as strings with that extension installed.
There's a few ways to support embedded languages though, this VSCode doc goes into more detail.

Cool. Will definitely check this out.


Triad grip not converting minion damage

Triad grip is not converting skeleton or zombie damage fully to cold despite having 4 green sockets. Have not tested other conversions
Pastebin showing the current calc not converting https://pastebin.com/nxrjRXFR

Triad Grip isn't officially added into PoB yet.
That said, the line "Minions deal x% of physical damage as fire/cold/lightning damage" is written in blue, indicating it's implemented, but it does not perform the damage conversion. I have EE set for hit recently with fire damage, and the above line set to convert 100% of minion physical damage to lightning damage, but removing or adding placeholder gloves with the above line added to it does not change any damage numbers for any of the minions in my build. The Calc section also displays physical damage still being dealt by the minions.
https://pastebin.com/dpf3y7UW PoB with the placeholder "Triad Grip" gloves with "Minions deal 100% of physical damage as lightning damage", but not converting the damage.

Changing it to
Minions have 100% of Physical Damage converted to Fire Damage

works for me.

Changing it to
Minions have 100% of Physical Damage converted to Fire Damage

works for me.

and how to change it in PoB?

Found Answer!
You need to use Chernobog's Pillar and necromantic aegis! So you can change conversion to any element, incl. chaos. Unfortunately damage of my spiders was not increased :(

Any chance this unique can be properly implemented into the next release?

Changing it to
Minions have 100% of Physical Damage converted to Fire Damage

works for me.

That works great, Thanks!

Or you could go the more interesting route to get it working:
https://github.com/Openarl/PathOfBuilding/issues/1742


doc: fix doxygen INPUT path; add branded html output

Clean up the INPUT paths for doxygen scanning:

directory scans include sub-directories so no need
to include them explicitly
remove excluded (legacy) includes that no longer exist

Sync directory changes in the CMakeLists.txt (as noted in the comments)
Add content to the home page of the doxygen-generated HTML, and add a
Zephyr branding theme.
Signed-off-by: David B. Kinder<EMAIL_ADDRESS>Fixes: #6773

This will give us a doxygen-generated home page generated by the CI nightly docs build, that looks like this:

BTW I'm working on a fix for the codeowers check.

@nashif fixed these in commit 549bd60624ed96
Codeowners issues
Path '/include/drivers/modem/' not found, in CODEOWNERS
Path '/include/drivers/ioapic.h' not found, in CODEOWNERS
Path '/include/drivers/loapic.h' not found, in CODEOWNERS
Path '/include/drivers/serial/uart_ns16550.h' not found, in CODEOWNERS

Permanent codeowners logic fix submitted in PR #17087

retest


Fixes #263

The error of casting '-1' from int to uint16 was fixed by converting them to 0.
Fixes #263.

@ablavatski Sorry about the very long delay! Thanks a lot!


Keep interim class name the same.

For instance in the Collapse module, the CSS states are:

.collapse
.collapsing
.collapse.show

It would be better if it was:

.collapse
.collapse.interim
.collapse.show

That way if we have styles on the .collapse class they are kept through each state which I think would be the normal case.  And if we want to make exceptional styles happen in between the hidden/shown states, we can attach that to the .interim class just as we would currently do with the .collapsing class.  By calling it .interim we also abstract the name to be used consistently within any component that has this transitioning state.
The counter argument would be to create a class for the collapsible and attach styles to that instead.  That may be true but I think doing this would make for a more consistent experience.

I would go one further and suggest using is and has for all state related classes, while keeping the main class the same through out.
.collapse
.collapse.is-collapsing
.collapse.is-visible
.is-active
.is-disabled
.is-scrollable
so on

At this point, this would be a breaking change for v5. Tagging for v6 and closing out as a won't fix for now.

At this point, this would be a breaking change for v5. Tagging for v6 and closing out as a won't fix for now.


Add back human-readable build summary

:notebook_with_decorative_cover: Description
This adds a minimal version of the old build summary per request by @mavam, whom I've requested for review explicitly.
:memo: Checklist

[x] All user-facing changes have changelog entries.
[x] The changes are reflected on docs.tenzir.com/vast, if necessary.
[x] The PR description contains instructions for the reviewer, if necessary.

:dart: Review Instructions
Checkout the branch and test locally.

This is a good start. The most important information for troubleshooting is still missing though: the location of the dependencies that CMake picked up.

This is a good start. The most important information for troubleshooting is still missing though: the location of the dependencies that CMake picked up.

This is a good start. The most important information for troubleshooting is still missing though: the location of the dependencies that CMake picked up.

Done. Please check back.

This is a good start. The most important information for troubleshooting is still missing though: the location of the dependencies that CMake picked up.

Done. Please check back.

Why are the CC/CXX flags empty?

That's because they're only the additional {C,CXX}_FLAGS set by the user, not the ones we set for VAST's internal target. Since the CMake refactoring we don't set our own flags globally anymore.

Also, a nit, but there seems to be a lot of whitespace at the beginning:

That we cannot fix, unless we silence CAF completely. We'll have to live with it until CAF 0.18 comes out.

Why are the CC/CXX flags empty?

That's because they're only the additional {C,CXX}_FLAGS set by the user, not the ones we set for VAST's internal target. Since the CMake refactoring we don't set our own flags globally anymore.

Also, a nit, but there seems to be a lot of whitespace at the beginning:

That we cannot fix, unless we silence CAF completely. We'll have to live with it until CAF 0.18 comes out.

That's because they're only the additional {C,CXX}_FLAGS set by the user, not the ones we set for VAST's internal target. Since the CMake refactoring we don't set our own flags globally anymore.

Got it. It's only misleading to call it that way. You could prefix it with "extra" or "additional" to make it clear that these are not the builtin ones. I highly doubt that users typically tweak their flags, so to me the field has little value in its current form. Maybe we can show them only if they are not empty?

That we cannot fix, unless we silence CAF completely. We'll have to live with it until CAF 0.18 comes out.

Works for me.

That's because they're only the additional {C,CXX}_FLAGS set by the user, not the ones we set for VAST's internal target. Since the CMake refactoring we don't set our own flags globally anymore.

Got it. It's only misleading to call it that way. You could prefix it with "extra" or "additional" to make it clear that these are not the builtin ones. I highly doubt that users typically tweak their flags, so to me the field has little value in its current form. Maybe we can show them only if they are not empty?

That we cannot fix, unless we silence CAF completely. We'll have to live with it until CAF 0.18 comes out.

Works for me.

@mavam looks like this now for me:
 * C Compiler: /usr/local/opt/ccache/libexec/clang (Clang 11.0.0)
 * CXX Compiler: /usr/local/opt/ccache/libexec/clang++ (Clang 11.0.0 with -isystem /usr/local/opt/llvm/include/c++/v1)

@mavam looks like this now for me:
 * C Compiler: /usr/local/opt/ccache/libexec/clang (Clang 11.0.0)
 * CXX Compiler: /usr/local/opt/ccache/libexec/clang++ (Clang 11.0.0 with -isystem /usr/local/opt/llvm/include/c++/v1)


function

Hi, @sparkslabs  Pyxie is an awesome project. Is it actively developed ? when defining function will be implemented ?

Hi!
Thanks for the kind words. Yes, Pyxie is actively developed. It's stalled a bit recently due to other commitments, but it is actively developed - though only in my "spare" time :)
My current focus is to make it possible to develop simple programs targetting this device by DAGU -
https://robosavvy.com/store/dagu-playful-puppy.html
There's several things I need for that to work - one is to make the arduino profile more fleshed out to include control of servos and similar. For that to work, I need object creation working (from libraries) and also method calls. The latter has been taking a little longer than expected, which is really the reason for delay. (needs slight grammar rework)
Once that's working, then function definitions will be on the list. Being realistic that's probably within a month or so.
In particular, from my notes the arduino profile needs the following implementing first:

Arduino profile:
Need to support the following things at minimum:
Constants:
OUTPUT, INPUT (pinModes)
HIGH, LOW (general pin values)
functions/etc
digitalWrite
delayMicroseconds
pinMode
analogRead
millis
Hardware devices/libraries etc
Servo
IOToy (maybe)
prototype microbit (maybe)

From a language perspective the high level priorities are at the moment:

def - function definitions - and therefore implementation of scope
What happens with mixed types in expressions
Modulo operator support
import statements
yield - generator definitions
class - class definitions
object usage - method access, and attribute access

Hopefully that's useful.

0.0.18 release pushed FWIW.


add to_json method for C arrays

Hi, this commit intends to fix #502.
I don't think there is a way to initialize a C-array from a json object, hence the only to_json overload in this commit.

Coverage decreased (-0.007%) to 99.857% when pulling 8ef0498fffd90c9d428bdc4e6dfe81771e99f76a on theodelrieu:feature/c_array_conversion into 100bf3ef2cb6893c2384bc0114e3b6592636d2d0 on nlohmann:develop.

Coverage decreased (-0.007%) to 99.857% when pulling 8ef0498fffd90c9d428bdc4e6dfe81771e99f76a on theodelrieu:feature/c_array_conversion into 100bf3ef2cb6893c2384bc0114e3b6592636d2d0 on nlohmann:develop.

Indeed, I've been sloppy since this morning, good catch

Thanks a lot!!!


[test] When using swift-ide-test specify a resource dir.

Otherwise, these tests fail when one runs these tests against a just
built toolchain but have not yet installed a stage2 stdlib.

@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - c77faaf70a38027c5ef1576782bf7cfeec2b06ec

Build failed
Swift Test OS X Platform
Git Sha - c77faaf70a38027c5ef1576782bf7cfeec2b06ec

@swift-ci smoke test


Add ghcr.io as second registry

Please don't merge just yet.

Getting 1.8.2 out will be a good test-case. We can document the location of both registries (and how to use the Helm chart) in the main README afterwards?


[IMPROVEMENT] Unify the format of returned error messages in longhorn-engine

Is your improvement request related to a feature? Please describe
Error strings should not be capitalized unless beginning with proper nouns or acronyms.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Internal improvement, so no need for manual QA.


add lock annotations to TLS security connectors

Also remove some unnecessary grpc_core:: prefixes.

Known issues: #26061 #23822
The "Basic Tests Python Windows" failure is an infrastructure timeout.


Add guifont cmdline completion (for Windows and GTK)

For Windows, auto-complete will only suggest monospace fonts as that's the only types allowed. Will also suggest font options after the colon, including suggesting the current font size for convenience, and misc charset and quality options like cANSI and qCLEARTYPE.
For GTK, auto-complete will suggest only monospace fonts for guifont but will include all fonts for guifontwide. The completion code doesn't currently suggest the current font size, as the GTK guifont format does not have a clear delimiter (':' for other platforms).

Windows:

GTK:

Code coverage is complaining a lot of lines aren't testing. Most of them are due to guards around not being able to allocate memory. I'm following the pattern that I see in other areas in Vim's codebase and making sure to check against allocation results, but I don't know if there are good ways to test such situations.

Code coverage is complaining a lot of lines aren't testing. Most of them are due to guards around not being able to allocate memory. I'm following the pattern that I see in other areas in Vim's codebase and making sure to check against allocation results, but I don't know if there are good ways to test such situations.

You can use the test_alloc_fail() function to test for allocation failures.  To use this function,
you need to add an ID in alloc_id_T and use the alloc_id() function for memory allocation.

You can use the test_alloc_fail() function to test for allocation failures. To use this function,
you need to add an ID in alloc_id_T and use the alloc_id() function for memory allocation.

Hmm that seems like a lot of work though. As in, the pattern that I see (and therefore follow) usually call vim_strsave / alloc or some other generic ways to get an allocated buffer and then NULL-check to protect against memory allocation issues. Only a few are tagged with an alloc ID.

You can use the test_alloc_fail() function to test for allocation failures. To use this function,
you need to add an ID in alloc_id_T and use the alloc_id() function for memory allocation.

Hmm that seems like a lot of work though. As in, the pattern that I see (and therefore follow) usually call vim_strsave / alloc or some other generic ways to get an allocated buffer and then NULL-check to protect against memory allocation issues. Only a few are tagged with an alloc ID.

Bram initially added the basic infrastructure (in 7.4.1058 and 7.4.1073) for testing memory
allocation failures.  I used this infra in the features that I developed (quickfix, signs,
and tag stack) and used this in a few other places.  As you said there are still a large
number of other places where this is not used yet.  But this is the only mechanism
available currently to test memory allocation failures.

Right. That's useful context to know. It feels to me this is quite manual and difficult to roll out across the board as it requires exhaustively tagging all your allocation, and testing each feature against it.
FWIW I think sometimes test coverage % could be a fickle thing. I'm working on another PR to fix cmdline expansion code related to escaping commas and spaces, and there are some tests that while technically "cover" the lines in question by getting the code to visit that code path (therefore increasing the code coverage %), do not actually test that the underlying behavior (it will be fixed in my PR) works.

As an aside, if you look at the change, in GTK Linux, if you don't have a guifont set, if you do :set guifont=<Tab> it will automatically suggest the default font "Monospace 10" for the user so they can adjust it. In Windows I decided not to implement this feature because I really hate the default Fixedsys font (maybe it's time to come up with a better default?) and not sure if there's any value in auto-filling the default. It can be changed of course.

thanks!


How to get playing state as soon as possible?

_player = Player(...);
await _player.open(...);
await _player.play();

await _player.pause();
print(_player.state.playing); // Still be "true"
await Future.delayed(
  const Duration(inMilliseconds: 100),
   () => print(_player.state.playing),
); // Should be "false" now

I can find 2 ways to get playing state so far:

'Future.delayed' as above, but it seems unstable if the player is lagging
Add listener to _player.streams.playing, but it's not so elegant because I must do other works to make sure print won't triggered by other state changing

So is there any elegant way to do this?
BTW, ideally, I think await _player.pause() should wait until _player.state.playing changed to false.

Please be assured that behavior of the Player class is highly predictable & unit-tested. The available streams behave in a very precise manner.
As we know, media playback is an asynchronous process involving multiple threads. For issuing normal play/pause commands, playOrPause method is recommended. Also, there is no way that the problem can't be solved by rewriting the code one way or another; without relying on odd behaviors. Infact, the Player constructor itself is asynchronous & makes all other calls like open, play, pause etc. wait until initialization & video-controller attachment.
I have made a commit to set player.state.playing explicitly in play/pause methods; hopefully all tests will still pass. A number of fixes, features & improvements will land in #250.

Fixed once and for all in package:media_kit 1.0.0.
dependencies:
  media_kit: ^1.0.0                              # Primary package.

  media_kit_video: ^1.0.0                        # For video rendering.

  media_kit_native_event_loop: ^1.0.5            # Support for higher number of concurrent instances & better performance.

  media_kit_libs_android_video: ^1.1.1           # Android package for video native libraries.
  media_kit_libs_ios_video: ^1.0.4               # iOS package for video native libraries.
  media_kit_libs_macos_video: ^1.0.5             # macOS package for video native libraries.
  media_kit_libs_windows_video: ^1.0.2           # Windows package for video native libraries.
  media_kit_libs_linux: ^1.0.2                   # GNU/Linux dependency package.

Refer to the README for updated project guide.


Support for pelican-dynamic plugin

Second attempt, this time from a new branch with a single new feature.

Hi!
First of all, thanks for your pull request! I appreciate the contribution, but I cannot accept this PR at the moment. It's with heavy heart that I have decided that I can no longer maintain this theme due to lack of time and changing interests. To makes sure the theme lives on however and not goes to waste, I've donated it to the Pelican community. It can now be found in the official pelican-themes repository. I'd suggest you re-submit your pull request there.
Sorry for the inconvenience!


Use a consistent form for the messages in the example tests

:+1: there are other tests that are using "should" still though, right?


Lower case lib file names

Hopefully partially fixes #638

@kennykerr Wonder if we can request this be done at the metadata level to trim off the to_lowercase here

@riverar that would be great.


Python 3.0 Issue

TypeError: can't concat bytes to str
File "\appdata\local\programs\python\python35-32\lib\site-packages\tvnamer\utils.py",
line 785, in generateFilename
replace_with = Config['replace_invalid_characters_with'])
File "\appdata\local\programs\python\python35-32\lib\site-packages\tvnamer\utils.py", line 554, in makeValidFilename
return value + extension
value.decode("utf-8") Has to be put on line 543 and 554 in order for it to work.

Hello,
Reproduced with tvnamer installed from pip (debian stable on rpi3).
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tvnamer
>>> tvnamer.__version__
(2, 4)

Stacktrace:
####################
# Starting tvnamer
# Found 1 episode
####################
# Processing file: something.S0xE0y.something.mp4
# With custom replacements: something.S0xE0y.something.mp4
# Detected series: Something (season: x, episode: y)
Traceback (most recent call last):
File "/usr/local/bin/tvnamer", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.5/dist-packages/tvnamer/main.py", line 436, in main
tvnamer(paths = sorted(args))
File "/usr/local/lib/python3.5/dist-packages/tvnamer/main.py", line 342, in tvnamer
processFile(tvdb_instance, episode)
File "/usr/local/lib/python3.5/dist-packages/tvnamer/main.py", line 196, in processFile
newName = episode.generateFilename()
File "/usr/local/lib/python3.5/dist-packages/tvnamer/utils.py", line 786, in generateFilename
replace_with = Config['replace_invalid_characters_with'])
File "/usr/local/lib/python3.5/dist-packages/tvnamer/utils.py", line 544, in makeValidFilename
if len(value + extension) > max_len:
TypeError: can't concat bytes to str

value.decode("utf-8") Has to be put on line 543 and 554 in order for it to work.

Or we can flip to false the option in ~/.tvnamer.json... if that's a reasonable thing to do
   "normalize_unicode_filenames": false

Checking at the code mentioned, there is a if just before the line in error which encode the string in bytes.
But the code after that goes on and try to concat stuff which are then no longer of the same types (with the previous option set to true).
Cheers,

Thanks! This is now fixed, will be in tvnamer 2.5
Should have been caught by the tests, but doesn't seem to be any for the normalize_unicode_filenames option, I should add one (and look closer at the test coverage)

Awesome! Thanks!


CPU Usage optimization (basic)

This can be merged without much testing @akashnimare this does some basic require optimization.

Do we have any before and after data of CPU usage and performance? Let me check if this approach makes any difference.

@cPhost for context, https://github.com/zulip/zulip/pull/6965 has some interesting data and research, which we need to test more.
It seems likely the actual problem is something in how we have Electron configured; the app itself doesn't do a lot of work beyond what the Zulip webapp does (and the Zulip webapp in Chrome doesn't have these perf problems).

@timabbott https://github.com/zulip/zulip/pull/6965 that does provide good debugging but i don't know i want to take that now, it could be easily that the chrome version was old (Electron is always 1-2 versions behind because its hard to upgrade.)

Currently efforts are for optimizing node's require since file operations are very expensive specially in old computer.

Optimize the electron webapp wrapper like avoiding upating DOM too much etc.

@cPhost I think it's an actual bug in Electron (or maybe its configuration).  Like, closing the hotkeys modal takes 600ms in the Electron app on my very fast laptop, and a negligible amount of time in Chrome on my laptop.  They should be basically the same browser.
I don't think working on little optimizations is the right approach here; there's something qualitatively wrong that needs investigation.

I think it's an actual bug in Electron (or maybe its configuration)

Yep, totally agree with that (its not just our app every major electron app like vscode, atom, slack).

Like, closing the hotkeys modal takes 600ms in the Electron app on my very fast laptop, and a negligible amount of time in Chrome on my laptop. They should be basically the same browser.

We can report this to upstream and get it fixed.

I don't think working on little optimizations is the right approach here; there's something qualitatively wrong that needs investigation.

This right here is hard, this optimization are for making the app faster and are best practices (of web in particular) we should follow then to squash out every bit of performance we can. This is not being debug anywhere i think there are many issues opened for this never saw any updates on any of them
Anyway if you are interested here is what electron issue https://github.com/electron/electron/issues/5672 and this comment https://github.com/electron/electron/issues/5672#issuecomment-222053637


Ask for help

How can i change the HSQLBD with orientdb Graph ?
Thank you

Hi @messaoudmoha,
I can't help you much because I don't know about graph databases. Well, I read a little bit on its website and I see that is like a hybrid document database that can connect documents like a relational database, so I don't know for sure if a direct mapping (user table -> user document) could work.
What I can tell you is that:

You can find the structure of this application's database in src/main/resources/sql.
You will have to add the driver for the OrientedDB database.
You will have to change the implementation of com/minitwit/dao/impl/MessageDaoImpl.java and com/minitwit/dao/impl/UserDaoImpl.java so the methods of those DAOs can work with OrientDB without breaking the interface contract (if a method returns a list of User objects, somehow the new implementation has to return it too).
You will have to change the dataSource() method of com/minitwit/config/DatabaseConfig.java so it returns a data source to an OrientDB database.

Sorry, I cannot help you with more implementation details because I don't know this database, but let me know if this helps you.


Any way to replicate encryption in Python?

Wanted to replicate encryption, logged out buffer as a hex string (String to Bytes is really weird implementation), tried to use aes mode_ecb in Crypto.Cypher, never got the same result. In the UE, the encryption result can even change with time! But it usually stays the same, in most frequent form.

@JediKnightChan I have not intended this to be used in the editor with python if thats what you're looking for.
This plugin is overdue for an update anyway to UE 4.27 and 5.2 I will look into it as time allows.
Bytes is what Sodium expects, it doesn't work directly with strings afaik, so that's why example converts to bytes. There can certainly be utility functions added to hide that step.


Edge cluster based on Ceph storage

Description
Create ansible playbooks for deploying a Ceph based edge cluster. This edge cluster will be design in a hyperconvergent way, so monitors/rbds will be part of the hypervisors
Use case
Offer an storage solution with better HA for VM disks for Edge clusters that can afford this storage solution
Interface Changes
None.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Basic functionality is done for AWS and On-premises cluster in branch https://github.com/OpenNebula/one-ee/tree/ceph-hci
List of pending tasks

[ ] use facts to set NIC for Edge clusters (one-infra#269)
[ ] automatic RESERVED_MEM, RESERVED_CPU host settings
[ ] add-host feature
[ ] separate Ceph OSD/MON/MGR roles
[ ] Fix Terraform + Ansible warnings
[ ] allow empty array input in Fireedge (now requires ‘;’)
[ ] create white paper
[ ] update documentation


Investigate hairlines API

I have a suspicion that the functionality for:

hairlines(after
hairlines(around
hairlines(between

will not behave as expected in the case that some cell in the middle of the group is hidden.
Hairlines(between: [A, B, C, D]) is deconstructed into
[A, B], [B, C], [C, D]
If view B is hidden, the first and second hairline binding will drop its visibility, resulting in no hairline between A and C.

Another example would be hairlines(around
The implementation assumes that the first view is visible, and applies a hairline above and below it.
But the desired functionality is that whatever the first visible view is gets both hairlines.


Replace toc_token with table of contents if present

In the process of migrating my blog from Jekyll to Hugo, I couldn't find an easy way to place a table of contents inline in the middle of content.
Jekyll allows you to specify a magic token (I use {:toc}) in the middle of your content that will be replaced with the table of contents. The associated code in Jekyll is here: https://github.com/jekyll/jekyll/blob/master/lib/jekyll/converters/markdown/rdiscount_parser.rb#L18.
I wanted the same thing in Hugo, so I wrote it.

Sorry for this late response. agree that this would be useful; but this, if not already possible, should be done via a shortcode.


Title: Improving the card feature when hovered over

Initiative (Required)
GSSoC (Girl Script Summer of Code) 🌸
Is your feature request related to a problem? Please describe.

Describe the solution you'd like.
Changing it in 3d form so that it should be highlighted when hovered over
Add any other context or screenshots about the feature request here.
No response

I am the mentor of this project.
Hello @hritika2409
I appreciate your pull issue can you give working video!!!

https://github.com/user-attachments/assets/2c484a04-1eff-4943-91dd-be8049e30f46
kind of this not exactly this but more responsive and interactive

@hritika2409, please merge both of your issues together instead of opening a new one. #1410

But both the issues are different why to merge them?

But both the issues are different why to merge them?

Let's focus on one issue at a time and successfully complete one PR first. Both issues can be merged together, so I'm closing this one since you've already opened the other issue.

so on which issue i have to work on? @Kushal997-das

I've already mentioned to @hritika2409 which issue you need to work on first. Since issue #1410 has already been taken by someone else, it would be better for you to focus on #1409 instead. I'm reopneing this again.

Ok i will get back to you with the work soon @Kushal997-das


Unit test and bugfix for CreationDate (#8)

Unit test and bug fix for CreationDate
Bug fix includes a simplification for the handling of Creation Date and offset in the code.

Thank you!


Update the Galician language translation (gl ISO 639-1)

I have updated 3 translated files for the Galician language (gl ISO 639-1):
auth.php
passwords.php
validation.php
I have added the JSON translation file for the Galician language (gl ISO 639-1).

Hello,
gracias pero I prefer gl.json ;)


Can I get OData Query Options to API Explorer with ApiController?

We have an existing API with about 20 CRUD services each with CRUD + some business logic methods. It is not generally OData (more traditional CRUD API) and we do not want to generally change it much.
However, we would like to add $filter, paging ($top, $skip, pageSize), $count, $order and perhaps $select to our 20-30 Get / List methods that now have usecase specific filtering by property (e.g. .../cms/articles?type=blogPost).
We can add these features very nicely using aspnet-api-versioning (thanks for that)...

// In Config:
var constraintResolver = new DefaultInlineConstraintResolver() {
  ConstraintMap = { ["apiVersion"] = typeof(ApiVersionRouteConstraint) } };
config.MapHttpAttributeRoutes(constraintResolver);

// In Controller:
[ApiVersion("2")]
[RoutePrefix("v0{version:apiVersion}/api/cms/articles")]
public class CmsController : ApiController

// New v3.0 method with OData support: Works, but $top etc. do not show in Swagger
[Route]
[HttpGet]
[SwaggerResponse(HttpStatusCode.OK, type: typeof(Article[]))]
[ResponseType(typeof(ODataValue<IEnumerable<Article>>))]
[EnableQuery(MaxTop = 100, AllowedQueryOptions = Select | Top | Skip | Count)]
[ApiVersion("3.0-rc")]
public PageResult<Article> ContentQueryable(ODataQueryOptions<Article> options)

// Non-OData method for existing v2.0. This needs to be kept as is.
[Route]
[HttpGet]
[SwaggerResponse(HttpStatusCode.OK, type: typeof(Article[]))]
public HttpResponseMessage CrudList([FromUri] AbcSection[] filter = null)

This works fine, but I am not able to get the OData Query options to show in Swagger. All the examples use ODataController and ODataRouting.
The question is: Do I need to move away from ApiController to ODataController AND/OR from MapHttpAttributeRoutes to MapVersionedODataRoutes to get the OData query options showing in Swagger?
Or can I use some option or extension point to get them showing with the code above? I do not really understand what triggers the generation of these Options to Swagger.

You do not need to use ODataController because you might have your own base class (I've found uses for this in the past); however, ODataRouting is required out-of-the-box.
Query options are derived from the following pieces of information:

Globally configured query options
Declarative query options using [EnableQuery]
Declarative (attribute) or imperative (via the fluent interface API) Model Bound query options
Imperative query option conventions (via the API Explorer)

2 and 4 do not really need to be OData-specific, but it makes sense for there to be an affinity out-of-the-box.
Your scenario is completely valid, though I've only ever seen it in practice one other time. I haven't tried this myself, but let me walk you through the touch points which should get things working. Ultimately, I think you can only make this work by way of conventions.
Extend the Default Query Options Builder
First, you need to extend the ODataQueryOptionsConventionBuilder, override the ApplyTo method and remove the check that filters ApiDescription instances down to OData actions.
Extend the Versioned API Explorer
Next, you'll need to extend VersionedApiExplorer. You'll pass in your OData API Explorer options configured with your custom query options builder. Override the InitializeApiDescriptions method and apply the configured OData API explorer options similar to the ODataApiExplorer.ExploreQueryOptions method.
This would look something like:
public class HybridApiExplorer : VersionedApiExplorer
{
    readonly ODataApiExplorerOptions odata;

    public HybridApiExplorer(
        HttpConfiguration configuration,
        ODataApiExplorerOptions options )
        : base( configuration, options ) => odata = options;

    protected override ApiDescriptionGroupCollection InitializeApiDescriptions()
    {
        var groups = base.InitializeApiDescriptions();
        var queryOptions = odata.QueryOptions;
        var settings = new ODataQueryOptionSettings()
        {
            DescriptionProvider = queryOptions.DescriptionProvider,
        };

        foreach ( var group in groups )
        {
            queryOptions.ApplyTo( group.ApiDescriptions, settings );
        }

        return groups;
    }
}

Configure Your Application
Finally, you'll have to configure your application with all of the pieces. It would look something like:
var options = new ODataApiExplorerOptions( configuration )
{
    QueryOptions = new MyCustomODataQueryOptionsBuilder(),
};

options.QueryOptions
       .Controller<CmsController>()
       .Action( c => c.ContentQueryable( default ) );

// TODO: other configurations

var apiExplorer = new HybridApiExplorer( configuration, options );

configuration.Services.Replace( typeof( IApiExplorer ), apiExplorer );

Disclaimer
This is how things should work - in theory. Again, I haven't tried this myself. The default conventions have some assumptions about available OData information such as the corresponding EDM that will not be configured using this approach. There may be additional customization required to achieve the desired result.
I'm not sure how common this scenario actually is. If there's some community demand for it, I'd consider evaluating whether this type of scenario can be supported out-of-the-box without so much customization.
I hope that helps get you started.

Great, thanks a lot for a quick and what looks like a through answer!
I will try this approach. Not sure if I will have time in the beginning of next week or then maybe later in August. I will give feedback on how it went and perhaps contribute a demo project.

Do you happen to have the world's simplest sample application of the desired configuration? I was going to take a look at intrinsically supporting this out-of-the-box, but I want to make sure I use the same setup and configuration you've used to ensure it works.
No rush, but it would certainly accelerate the process of looking into what it would take to support it.


UPS Rating API Calculator

Refactored the "Ship" page to include a form where the user will enter a destination shipping address and select a group of products that they are wanting to ship out to a customer. Once all the products are selected, a weight and box dimension is formulated and a rate table is displayed of all our shipping options and prices that they can quote to their customer. The rates displayed are specific to the UPS account credentials entered in the "config.js" file and can easily be used across any UPS account.

Please add the new config.js and other files to the .gitignore and submit it as part of this pull request.
The HTML in ship.html should reside inside the block content of base.html. Let's keep the origin navbar/heading in place for now and put that change as part of a different pull request. https://i.imgur.com/afsXJZ4.png , https://i.imgur.com/YKcoR3Y.png

Just two minor changes and then the pull request is complete.
In the file: VTiger_KPI_Dashboard/sales/static/sales/css/main.css,
Please delete the following:
Line 18-19
input, label {
  width: 100%; }

Line 43
 box-shadow: 0 1rem 1rem;

These two lines are negatively impacting the rest of the apps. In my testing locally, removing these lines resolved the issue and didn't cause any other issues on ship.html


g:cpp_experimental_template_highlight failing tests

g:cpp_experiemental_template_highlight has several failures in the included tests. Failures are circled in red in the after screenshot below.
Note, g:cpp_experimental_simple_template_highlight is failing also, but I assume that's intended based on the notes in the test file.
Before:

After:

This is still a problem.
It seems like g:cpp_experimental_template_highlight doesn't highlight the template arguments, while g:cpp_experimental_simple_template_highlight doesn't highlight the templated class.


Puppet Name use full npm name instead of alias: padchat => wechaty-puppet-padchat

Update by Huan
Before
const bot = new Wechaty({ puppet: 'padchat' })

After
const bot = new Wechaty({ puppet: 'wechaty-puppet-padchat' })

Provide Your Network Information

Where is the location of your server? (i.e. City, or In/Out China) U.S.
Which cloud platform(AliYun/Qcloud/DigitalOcean/etc) are you using? self

Run npm run doctor or wechaty run doctor(for docker user), paste output here
docker
wechaty version: 0.19.104
Expected behavior
run wechaty with docker container
Actual behavior
Padchat@latest version not found
Steps to reproduce the behavior (and fixes, if any)

If you know c9 IDE, please goto https://ide.c9.io/zixia/wechaty-bug-reproducer to apply a write access for the workspace so that you can put your reproduceable code over there. If you did that, your issue will be classified with HIGH priority and we will deal with the high priority issues first.

Working directory: /bot
Please make sure you had installed all the NPM modules which is depended on your bot script.
Executing ts-node WilliamDABot.ts
11:20:16 SILL Config WECHATY_LOG set level to silly
11:20:16 INFO Config registering process.on("unhandledRejection") for development/debug
11:20:16 VERB Config constructor()
11:20:17 SILL Accessory #0<Wechaty> constructor()
11:20:17 VERB Wechaty contructor()
11:20:17 VERB MemoryCard constructor(Ponyo)
11:20:17 VERB StateSwitch constructor(name=Wechaty)
11:20:17 VERB Wechaty on(logout, function) registered
11:20:17 VERB Wechaty onFunction(logout)
11:20:17 VERB Wechaty on(login, function) registered
11:20:17 VERB Wechaty onFunction(login)
11:20:17 VERB Wechaty on(scan, function) registered
11:20:17 VERB Wechaty onFunction(scan)
11:20:17 VERB Wechaty on(room-join, function) registered
11:20:17 VERB Wechaty onFunction(room-join)
11:20:17 VERB Wechaty on(friendship, function) registered
11:20:17 VERB Wechaty onFunction(friendship)
11:20:17 VERB Wechaty on(message, function) registered
11:20:17 VERB Wechaty onFunction(message)
11:20:17 VERB Wechaty on(error, function) registered
11:20:17 VERB Wechaty onFunction(error)
11:20:17 SILL Wechaty version() form development environment is not availble: ENOENT: no such file or directory, stat '/wechaty/dist/.git'
11:20:17 INFO Wechaty <padchat> start() v0.19.104 is starting...
11:20:17 VERB Wechaty puppet: undefined
11:20:17 VERB Wechaty profile: Ponyo
11:20:17 VERB Wechaty id: cjjx63qbl00000qum3a1s1tcc
11:20:17 SILL StateSwitch <Wechaty> on() is false
11:20:17 SILL StateSwitch <Wechaty> on() is false
11:20:17 VERB StateSwitch <Wechaty> on(pending) <- (false)
11:20:17 VERB MemoryCard load() file: /bot/Ponyo.memory-card.json
11:20:17 VERB Wechaty initPuppet()
11:20:17 VERB MemoryCard sub(padchat)
11:20:17 VERB MemoryCard static sub(MemoryCard<Ponyo>, padchat)
11:20:17 VERB MemoryCard constructor(Ponyo)
11:20:17 VERB PuppetManager resolve({wechaty: Wechaty#cjjx63qbl00000qum3a1s1tcc<>(Ponyo), puppet: padchat, puppetOptions: undefined})
11:20:17 VERB PuppetManager resolveName(padchat)
11:20:17 VERB PuppetManager checkModule(padchat)
11:20:17 INFO PuppetManager install(padchat@latest) please wait ...
npm: npm
npm:  WARN notice Due to a recent security incident, all user tokens have been invalidated. Please see https://status.npmjs.org/incidents/dn7c1fgrr7ng for more details. To generate a new token, visit https://www.npmjs.com/settings/~/tokens or run "npm login".

npm: npm
npm:  ERR! code E404

npm: npm
npm:  ERR! 404 Not Found: padchat@latest

npm:

npm: npm ERR! A complete log of this run can be found in:
npm ERR!
npm:      /bot/.npm/_logs/2018-07-22T18_20_26_334Z-debug.log

{ Error: Command failed: npm install padchat@latest
npm WARN notice Due to a recent security incident, all user tokens have been invalidated. Please see https://status.npmjs.org/incidents/dn7c1fgrr7ng for more details. To generate a new token, visit https://www.npmjs.com/settings/~/tokens or run "npm login".
npm ERR! code E404
npm ERR! 404 Not Found: padchat@latest

npm ERR! A complete log of this run can be found in:
npm ERR!     /bot/.npm/_logs/2018-07-22T18_20_26_334Z-debug.log

    at ChildProcess.exithandler (child_process.js:291:12)
    at ChildProcess.emit (events.js:182:13)
    at ChildProcess.EventEmitter.emit (domain.js:442:20)
    at maybeClose (internal/child_process.js:961:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: 'npm install padchat@latest ' }
11:20:26 ERR Wechaty start() exception: Command failed: npm install padchat@latest
npm WARN notice Due to a recent security incident, all user tokens have been invalidated. Please see https://status.npmjs.org/incidents/dn7c1fgrr7ng for more details. To generate a new token, visit https://www.npmjs.com/settings/~/tokens or run "npm login".
npm ERR! code E404
npm ERR! 404 Not Found: padchat@latest

npm ERR! A complete log of this run can be found in:
npm ERR!     /bot/.npm/_logs/2018-07-22T18_20_26_334Z-debug.log

11:20:26 ERR Bot error: Error: Command failed: npm install padchat@latest
npm WARN notice Due to a recent security incident, all user tokens have been invalidated. Please see https://status.npmjs.org/incidents/dn7c1fgrr7ng for more details. To generate a new token, visit https://www.npmjs.com/settings/~/tokens or run "npm login".
npm ERR! code E404
npm ERR! 404 Not Found: padchat@latest

npm ERR! A complete log of this run can be found in:
npm ERR!     /bot/.npm/_logs/2018-07-22T18_20_26_334Z-debug.log

11:20:26 SILL Wechaty version() form development environment is not availble: ENOENT: no such file or directory, stat '/wechaty/dist/.git'
11:20:26 INFO Wechaty <padchat> stop() v0.19.104 is stoping ...
11:20:26 SILL StateSwitch <Wechaty> off() is false
11:20:26 SILL StateSwitch <Wechaty> off() is false
11:20:26 VERB StateSwitch <Wechaty> off(pending) <- (false)
11:20:26 VERB MemoryCard <> save() file: /bot/Ponyo.memory-card.json
11:20:26 ERR Config ###########################
11:20:26 ERR Config unhandledRejection: Error: static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217 [object Promise]
11:20:26 ERR Config ###########################
11:20:26 ERR Config process.on(unhandledRejection) promise.catch(static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217)
Config Error: static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217
    at Function.get puppet [as puppet] (/wechaty/src/accessory.ts:60:11)
    at Wechaty.get puppet [as puppet] (/wechaty/src/accessory.ts:149:44)
    at Wechaty.logonoff (/wechaty/src/wechaty.ts:892:17)
    at Object.<anonymous> (/bot/WilliamDABot.ts:345:11)
    at Generator.next (<anonymous>)
    at /bot/WilliamDABot.ts:7:71
    at new Promise (<anonymous>)
    at __awaiter (/bot/WilliamDABot.ts:3:12)
    at Wechaty.bot.on (/bot/WilliamDABot.ts:341:27)
    at Wechaty.on.args (/wechaty/src/wechaty.ts:506:18)
    at Wechaty.emit (events.js:182:13)
    at Wechaty.EventEmitter.emit (domain.js:442:20)
    at Wechaty.emit (/wechaty/src/wechaty.ts:290:18)
    at Wechaty.<anonymous> (/wechaty/src/wechaty.ts:778:12)
    at Generator.throw (<anonymous>)
    at rejected (/wechaty/dist/src/wechaty.js:5:65)
(node:26) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 2)
11:20:26 WARN Wechaty stop() puppet.stop() exception: static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217
11:20:26 SILL StateSwitch <Wechaty> off() is pending
11:20:26 VERB StateSwitch <Wechaty> off(true) <- (pending)
11:20:26 INFO Bot finis(99, uncaughtException)
11:20:26 ERR Config ###########################
11:20:26 ERR Config unhandledRejection: Error: static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217 [object Promise]
11:20:26 ERR Config ###########################
11:20:26 ERR Config process.on(unhandledRejection) promise.catch(static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217)
Config Error: static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217
    at Function.get puppet [as puppet] (/wechaty/src/accessory.ts:60:11)
    at Wechaty.get puppet [as puppet] (/wechaty/src/accessory.ts:149:44)
    at Wechaty.logonoff (/wechaty/src/wechaty.ts:892:17)
    at Object.<anonymous> (/bot/WilliamDABot.ts:378:12)
    at Generator.next (<anonymous>)
    at /bot/WilliamDABot.ts:7:71
    at new Promise (<anonymous>)
    at __awaiter (/bot/WilliamDABot.ts:3:12)
    at process.finis_1.finis (/bot/WilliamDABot.ts:374:30)
    at process.emit (events.js:182:13)
    at process.EventEmitter.emit (domain.js:442:20)
    at process.emit (/wechaty/node_modules/ts-node/node_modules/source-map-support/source-map-support.js:454:21)
    at process.on.err (/wechaty/node_modules/finis/index.js:28:50)
    at process.emit (events.js:187:15)
    at process.EventEmitter.emit (domain.js:442:20)
    at process.emit (/wechaty/node_modules/ts-node/node_modules/source-map-support/source-map-support.js:454:21)
    at process._fatalException (internal/bootstrap/node.js:472:27)
(node:26) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 3)
Error: static puppet not found for Wechaty, please see issue #1217: https://github.com/Chatie/wechaty/issues/1217
    at Function.get puppet [as puppet] (/wechaty/src/accessory.ts:60:11)
    at Wechaty.get puppet [as puppet] (/wechaty/src/accessory.ts:149:44)
    at Immediate.setImmediate (/wechaty/src/wechaty.ts:855:29)
    at runCallback (timers.js:696:18)
    at tryOnImmediate (timers.js:667:5)
    at processImmediate (timers.js:649:5)
    at process.topLevelDomainCallback (domain.js:121:23)
11:20:26 INFO Bot finis(1, exit)
  ____  _   _  ____   ____  _____ ____   ___  ____ _____
 | __ )| | | |/ ___| |  _ \| ____|  _ \ / _ \|  _ \_   _|
 |  _ \| | | | |  _  | |_) |  _| | |_) | | | | |_) || |
 | |_) | |_| | |_| | |  _ <| |___|  __/| |_| |  _ < | |
 |____/ \___/ \____| |_| \_\_____|_|    \___/|_| \_\|_|

Press ENTER to continue ...

I check the commit log and found the issue is ENV variables should use full name.
ref: https://github.com/Chatie/wechaty/commit/0eda15b2cbb5b48f93e210702e6d4a6bf71d2390

Yes, we had decided to change puppet name yesterday.
Sorry for the breaking change.

I added a compatible code to allow the padchat to be used with the latest version of the master code.
So the new design will not break the old codes. Please let me know if you still have problems.


fix(material/core): Option should not have tabindex attribute.

When a MatSelect or a MatAutocomplete opens, focus stays on the input. The attribute aria-activedescendant is used to identify the active option. It's not necessary for the options to also be focusable, so we can clean up the component a bit by just removing the tabindex attribute and any related tests.
This could break a good amount of stuff in g3, so I'm testing beforehand.

This breaks about a dozen targets in Google. It seems to me like the tests expect there to be focus on the options when the overlay appears. For example, I see a test open the overlay, press space, and that should have selected the option and close the overlay.
Ping me if you'd like help diagnosing these issues or seeing test results

Thanks @andrewseguin, I'll take a look first and ping you if I need any help.

The more I think about this change, I think it really depends upon the purpose of mat-option.
If mat-option is a standalone component that we provide to users to render a Material "option", and users can use it within custom listbox components, then I think it might make sense for it to have tabindex built-in. This is because widgets that use options can either choose to manage focus normally or with aria-activedescendant, and mat-option should support both. Instead of removing tabindex entirely, as this PR does, there might be a way to tell mat-option whether it's being used in a normal focus / aria-activedescendant context.
If we don't intend for users to use mat-option outside of mat-select and mat-autocomplete contexts, then it should be removed. I'm not 100% sure what we intend, because while teams do use mat-option outside of mat-select and mat-autocomplete in g3, mat-option does not have its own page at https://material.angular.io/components/categories.

The only reason mat-option has its own submodule in material/core is so that it can be reused between the select and autocomplete. We never intended for it to be used outside.

@zelliott Did you want to continue work on this PR or should we close it out?

We can close this out. It's a small cleanup CL that turns out to be challenging to land in g3 because teams are relying upon these options being focusable. Thanks for checking!


Add correct trait names to utilities for declaring trait values

#73

Codecov Report

Merging #83 (62ba51f) into master (e0c5d03) will decrease coverage by 0.49%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
- Coverage   98.57%   98.07%   -0.50%
==========================================
  Files           9        9
  Lines         210      208       -2
==========================================
- Hits          207      204       -3
- Misses          3        4       +1

Impacted Files
Coverage Δ

src/metadata_utils.jl
100.00% <100.00%> (ø)

src/utils.jl
0.00% <0.00%> (-100.00%)
:arrow_down:

src/equality.jl
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #83 (62ba51f) into master (e0c5d03) will decrease coverage by 0.49%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
- Coverage   98.57%   98.07%   -0.50%
==========================================
  Files           9        9
  Lines         210      208       -2
==========================================
- Hits          207      204       -3
- Misses          3        4       +1

Impacted Files
Coverage Δ

src/metadata_utils.jl
100.00% <100.00%> (ø)

src/utils.jl
0.00% <0.00%> (-100.00%)
:arrow_down:

src/equality.jl
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Store/Authenticate encrypted passwords using LDAPjs

Hi experts,
I have enabled ssh-256 hashing algorithm in my OpenLDAP server. And i'm using following code to store encrypted/hashed password through ldapjs i.e.,
var ldap = require('ldapjs');
var ssha = require('node-ssha256');
var BASE = 'ou=Users,dc=example,dc=org';
// default port for ldaps
var URL = 'ldaps://ldap.example.org/:636';
// user and pass are for existing user with rights to add a user
function myLDAPBind(user, pass, callback) {
var client = ldap.createClient({
url: URL
});
var newDN = "cn=new guy,ou=Users,dc=example,dc=org";
var newUser = {
cn: 'new guy',
sn: 'guy',
uid: 'nguy',
mail<EMAIL_ADDRESS>objectClass: 'inetOrgPerson',
userPassword: ssha.create('s00prs3cr3+')
}
client.bind(user,pass,function(err){
client.add(newDN, newUser, callback);
});
}
It stores encrypted password in ldap successfully. But when i authenticate it fails. What is the correct strategy of working with encrypted passwords in ldapjs ? can someone please guide me

The details of how password storage and authentication function will be specific to the LDAP server which you happen to be interfacing with.  With regards to authentication, it would be wise to check that your server supports simple binds as ldapjs does not yet support SASL authentication.

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


[$500] Thread - Unable to send a reply in thread after leaving the thread in offline mode

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

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
Action Performed:

Go to workspace chat
Go offline.
Send a message and reply in thread.
Leave the thread.
Open the thread and send a reply again.

Expected Result:
User is able to send a reply in thread after leaving the thread in offline mode.
Actual Result:
User is unable to send a reply in thread after leaving the thread in offline mode.
Workaround:
unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/43996225/ef933503-fb1c-49ff-9e79-296f3b4ee5ea

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

Upwork Job URL: https://www.upwork.com/jobs/~0190e8891c6eb5ad7c
Upwork Job ID:<PHONE_NUMBER>336444416
Last Price Increase: 2024-01-26

Proposal
Please re-state the problem that we are trying to solve in this issue.
Thread - Unable to send a reply inside of a thread after leaving the thread in offline mode
What is the root cause of that problem?
The canLeaveRoom function is used in the HeaderView component to display the leave room menu option.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/HeaderView.js#L166-L171
I believe solely using isWorkspaceMemberLeavingWorkspaceRoom to create a condition in the leaveRoom function for this PR https://github.com/Expensify/App/pull/33053 was not a good idea.
https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2092-L2097
This is because PR removes the report.ReportID from the onyx if isWorkspaceMemberLeavingWorkspaceRoom is false.
Hence, threads are also affected.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/ReportScreen.js#L250-L251
Therefore, isReportReadyForDisplay  will always be false, and the ReportScreen will load infinitely.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/ReportScreen.js#L517-L518
It is just not displaying the ReportActionsView component.
Finally, the user can not reply because the DragAndDropProvider component is disabled.
What changes do you think we should make in order to solve the problem?

Part 1
We will use the isThread function with the isWorkspaceMemberLeavingWorkspaceRoom variable to create a better condition.
https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2092
Modify the above condition to something similar to the one below:
value: isWorkspaceMemberLeavingWorkspaceRoom || isThread(report)

https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2152-L2154
Part 2
Finally, we create a new condition after API.write shown above.
It will navigate the user back to the parent report.
if (isThread(report)) {
    Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(report.parentReportID));
}

Question
Is navigating back part not supposed to happen for threads? 🤔
I just added it in case.
Result (macOS - Chrome)
https://github.com/Expensify/App/assets/22982173/ba321858-6fd0-49de-8e87-2ecb0eda39ae

Proposal
Please re-state the problem that we are trying to solve in this issue.
Thread - Unable to send a reply inside of a thread after leaving the thread in offline mode
What is the root cause of that problem?
The canLeaveRoom function is used in the HeaderView component to display the leave room menu option.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/HeaderView.js#L166-L171
I believe solely using isWorkspaceMemberLeavingWorkspaceRoom to create a condition in the leaveRoom function for this PR https://github.com/Expensify/App/pull/33053 was not a good idea.
https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2092-L2097
This is because PR removes the report.ReportID from the onyx if isWorkspaceMemberLeavingWorkspaceRoom is false.
Hence, threads are also affected.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/ReportScreen.js#L250-L251
Therefore, isReportReadyForDisplay  will always be false, and the ReportScreen will load infinitely.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/ReportScreen.js#L517-L518
It is just not displaying the ReportActionsView component.
Finally, the user can not reply because the DragAndDropProvider component is disabled.
What changes do you think we should make in order to solve the problem?

Part 1
We will use the isThread function with the isWorkspaceMemberLeavingWorkspaceRoom variable to create a better condition.
https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2092
Modify the above condition to something similar to the one below:
value: isWorkspaceMemberLeavingWorkspaceRoom || isThread(report)

https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2152-L2154
Part 2
Finally, we create a new condition after API.write shown above.
It will navigate the user back to the parent report.
if (isThread(report)) {
    Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(report.parentReportID));
}

Question
Is the navigating back part not supposed to happen for threads? 🤔
I added part 2 in case it was needed.
Result (macOS - Chrome)
https://github.com/Expensify/App/assets/22982173/fe8288c8-90cd-4014-845b-6843a49dc150

Proposal
Please re-state the problem that we are trying to solve in this issue.
Thread - Unable to send a reply inside of a thread after leaving the thread in offline mode
What is the root cause of that problem?
The canLeaveRoom function is used in the HeaderView component to display the leave room menu option.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/HeaderView.js#L166-L171
I believe solely using isWorkspaceMemberLeavingWorkspaceRoom to create a condition in the leaveRoom function for this PR https://github.com/Expensify/App/pull/33053 was not a good idea.
https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2092-L2097
This is because PR removes the report.ReportID from the onyx if isWorkspaceMemberLeavingWorkspaceRoom is false.
Hence, threads are also affected.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/ReportScreen.js#L250-L251
Therefore, isReportReadyForDisplay  will always be false, and the ReportScreen will load infinitely.
https://github.com/Expensify/App/blob/a2864a077fd5d577021983ff77c658c9f2e43bab/src/pages/home/ReportScreen.js#L517-L518
It is just not displaying the ReportActionsView component.
Finally, the user can not reply because of the ReportFooter component over here.
What changes do you think we should make in order to solve the problem?

Part 1
We will use the isThread function with the isWorkspaceMemberLeavingWorkspaceRoom variable to create a better condition.
https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2092
Modify the above condition to something similar to the one below:
value: isWorkspaceMemberLeavingWorkspaceRoom || isThread(report)

https://github.com/Expensify/App/blob/f268c39c331305c49dbb80a0d0e59984289ecb25/src/libs/actions/Report.ts#L2152-L2154
Part 2
Finally, we create a new condition after API.write shown above.
It will navigate the user back to the parent report.
if (isThread(report)) {
    Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(report.parentReportID));
}

Question
Is the navigating back part not supposed to happen for threads? 🤔
I added part 2 in case it was needed.
Result (macOS - Chrome)
https://github.com/Expensify/App/assets/22982173/fe8288c8-90cd-4014-845b-6843a49dc150

Pending proposal reviews from @thesahindia

Same

TY!

Sorry @joekaufmanexpensify, I misunderstood the issue here.
I just checked when I was online. After leaving the thread and sending a message to the thread, I will re-join the thread and send the message.
The expected behavior I mentioned before is showing the skeleton loader after leaving the thread while offline. For reference https://github.com/Expensify/App/issues/28997 and https://expensify.slack.com/archives/C01GTK53T8Q/p1699960963387459

We should not delete the thread report/ report action after leaving thread, we just need to update the notification preference to not receive the notification.

@tienifr Could you point out which line deleting the report action offline?

@Tony-MK I don't see you test it offline in your video.
Also, what's the root cause for the user can't send the message?

My apologies, @mollfpr, for uploading the wrong recording.
Here is an accurate recording.
https://github.com/Expensify/App/assets/22982173/2b64eda5-8d48-4074-a9fe-8623756e709f

Also, what's the root cause for the user can't send the message?

The root cause is the same.
It is because the report.reportID is not present.
Therefore, isReportReadyForDisplay will always be false.
Hence, the handleSendMessage quits before sending the function because of the condition seen below.
https://github.com/Expensify/App/blob/599c005849cd065a53d35e015991b637c768f2da/src/pages/home/report/ReportActionCompose/ReportActionCompose.js#L343-L355

Still pending further input

Is the navigating back part not supposed to happen for threads?

@Tony-MK I'm not sure how to answer this, but the current behavior is navigating back the user to the parent report.

We will use the isChatThread function with the isWorkspaceMemberLeavingWorkspaceRoom variable to create a better condition.

https://github.com/Expensify/App/blob/5edf172457de71f5fa77d9ddf30e03726db346a2/src/pages/home/HeaderView.js#L164
https://github.com/Expensify/App/blob/5edf172457de71f5fa77d9ddf30e03726db346a2/src/libs/actions/Report.ts#L2107-L2116
The condition isWorkspaceMemberLeavingWorkspaceRoom is checked from !isChatThread, so basically, the second condition will always skipped.

We should not delete the thread report/ report action after leaving thread, we just need to update the notification preference to not receive the notification.

@tienifr Does this make the issue https://github.com/Expensify/App/issues/33010 resurface again? Also, we have the stateNum and statusNum values updated on optimistic. I'm not sure if this will lead to a regression if we remove it.

@mollfpr, can you reproduce the bug?
It seems like it is fixed.

@mollfpr, can you reproduce the bug?
It is partially fixed.

@Tony-MK I'm not sure how to answer this, but the current behavior is navigating back the user to the parent report.

However, it does not navigate back to the parent report.

Solutions still being discussed

@Tony-MK Yes.

It is partially fixed.

Which part is fixed?

However, it does not navigate back to the parent report.

It's still navigating back to the parent report.
https://github.com/Expensify/App/assets/25520267/6cf0197b-1623-4995-9d41-0e024bac7ca6

@tienifr I think we don't need to update stateNum and statusNum optimistically. After the thread leaves, the API OpenReport doesn't update that data.
https://github.com/Expensify/App/blob/9c32b8fe5642ac766b910bd3078061980087b202/src/libs/actions/Report.ts#L2175-L2183
How about the above code? Does the logic be implemented for nonworkspace rooms?

@mollfpr are we close to selecting a proposal here?

I think the proposal from @tienifr will work. Checking on the response from API when opening a thread after leaves, it only updates the notificationPreference. Let's go with their proposal.
🎀 👀 🎀 C+ reviewed!

Pending internal sign off

@grgia mind signing off on this one when you have a sec? TY!

Same

DM'ed Georgia about proposal

All yours @tienifr

@grgia mind confirming this question? Seems like the PR review is blocked on it.

We have another PR that fixed this issue, and the solution is kinda similar. I have checked the PR https://github.com/Expensify/App/pull/37355, and it fixes this issue.
I think we can close the PR, but I don't know what the next process.
cc @joekaufmanexpensify

Got it. I'll take a look.

Discussing

We discussed and landed on the following:

@tienifr - $500 for contributor role, since you were hired for this job, wrote the PR, and the delay was on us internally.
@mollfpr - $250 for C+, since you reviewed proposals, but did not do a full review.

@tienifr $500 sent and contract ended!

@mollfpr please accept our offer so we can pay you.

I'm OOO the next two days, so we'll issue payment to @mollfpr on Monday (once you accept the offer).

Sorry for the late reply @joekaufmanexpensify I did manual request in NewDot.

Ah, all good. I canceled the offer in upwork, and updated my post above to clarify that you're being paid via NewDot.

All set!

$250 approved for @mollfpr based on this summary.


Search System

MOSCOW: Contracts Management
Depends on Contract and Document having good machine readable attributes.
First implementation can focus on these attributes. But take note that companies and affiliates should be possible to limit on as main methods of search.
Bonus points is if text search over PDF documents could be done for Could Have.

Ransack seems like a decent choice that avoids us having to run any extra services (like OpenSearch or Solr) https://github.com/activerecord-hackery/ransack


Interactive whatsapp message content missing in MessageBird\Objects\Conversation\Content

Adding the property public $interactive; to MessageBird\Objects\Conversation\Content fixes the problem.

Closing this as part of issue cleanup.


DefinePlugin: Conflicting values for 'process.env.NODE_ENV'

When I run npm run test, I see the following warning:
DefinePlugin
Conflicting values for 'process.env.NODE_ENV'

[
  {
    message: "DefinePlugin\nConflicting values for 'process.env.NODE_ENV'",
    details: `'"test"' !== '"development"'`,
    stack: '...'
  }
]

We set NODE_ENV to test based on the Vue CLI docs:

With NODE_ENV set to "test" for example, Vue CLI creates a webpack config that is intended to be used and optimized for unit tests.

When I add some debugging to karma.conf.js, I can see that the mode property of the webpack config object is 'development'. If I try to set it to 'test', I see an error:
04 12 2022 18:19:43.258:ERROR [karma-server]: Error during file loading or preprocessing
ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration.mode should be one of these:
   "development" | "production" | "none"
   -> Enable production optimizations or development hints.

If I change NODE_ENV to production or development, I see that the resulting webpack config is different from when NODE_ENV is test.
There are differences between what we do in production vs. development vs. testing, in large part based on NODE_ENV. For example, we have more logging in development, while in testing, we expose access to local requestData resources.
I did a quick search of Vue CLI GitHub issues and didn't see anything related. I don't think we necessarily need to investigate this further, since tests seem to be working, and we'll be moving from Vue CLI as part of #671. But I wanted to file an issue with what I've learned so far.

We're going to be switching from Karma to Vitest as part of https://github.com/getodk/central-frontend/issues/671, so I think we can close this issue.


[meterGlucoseDelta] adding "+" for positive Delta values

Improvement suggestion: Currently, negative delta values (e.g. -4 mg/dl) are shown with the minus sign (and colored red). That's fine. What I'm missing is a leading "+" sign (e.g. +4 mg/dl) for delta values >0.
I think these are the decisive code sections, but all my attempts to add a "+" (only) for positive values have failed so far. Maybe just one additional IfCondition3 but how does the code look like for adding the leading "+" to the MeasureGlucoseDelta-String?
**[MeasureGlucoseDelta]
Measure=WebParser
URL=[MeasureSite]
StringIndex=6
IfCondition=MeasureGlucoseDelta < 0
IfTrueAction=[!SetOption MeterGlucoseDelta FontColor 220,20,60]
IfCondition2=MeasureGlucoseDelta > 0
IfTrueAction2=[!SetOption MeterGlucoseDelta FontColor 125,252,0]
[meterGlucoseDelta]
Meter=String
MeterStyle=styleLeftText
MeasureName=MeasureBG
X=84
Y=23
W=56
H=22
Text=[&MeasureGlucoseDelta]
DynamicVariables=1**
FYI - I have made some small cosmetic changes, formatting the [&MeasureGlucose] value with RIGHT alignment and shifting the delta and arrows to the right side along with slightly larger font size. Additionally I made a dark and only slightly transparent background which gives much better readability especially for light backgrounds, e.g. snow photographs. This is how my modified gadget looks like -> if there would be "+" in front of the "4" I'd be 100% happy :-)

Thanks for helping and giving inspiration guidance with your NS2Win gadget. It's really a smart tool running every day on my desktop computers.

Thanks, @emp-00, the changes you made look great. I will look at adding the + code for deltas that are going higher. I've left it out to save space.

@MrJordanRoth : I saw your posting and the reply from SilverAzide @forum.rainmeter.net - many thanks for asking this. SilverAzide's solution works perfectly for me: https://forum.rainmeter.net/viewtopic.php?p=210484#p210484

One "last question", as you can see in this case +12 mg/dl but the trend arrow is "Flat" (-->) - do you know why? I have checked the output of the pebble api actually returns "Flat" most of the time. Very rarely it shows a 45up/down and in my case I have never seen a doubleup/down arrow. Do you know why? Even looking at the last 3-value-average a "Flat" arrow does not really make sense here in this example since I was coming from a "LOW" bg and going straight up in the last 4 readings (due to eating glucose ;-). I think we could add code to calculate our own trend arrow based e.g. on the last 3 values for example like xDrip+ is doing this. But I really wonder why the pebble api does not return a more appropriate trend arrow... Seems like a bug to me?

@em, thats great. I was able to ask them but I wasn't actually able to try it.
As for the trend arrow mine seems to be working. What version is your NS? How are you getting your Dexcom data to it?

@MrJordanRoth : nightscout version 14.2.5 and Dexcom data is uploaded via xDrip+ REST-API

@emp-00, I'm checking my NS and my NS2Win display and they match exactly.

@MrJordanRoth : Yes, the NS server already shows the "wrong" trend arrows... I already tried to find information how to fix this but I can only switch the plugin "direction" on or off. There seem to be no configuration options... It's definitely not a problem from the NS2Win skin - it's already "wrong" on the server. I have no idea how to fix this currently :-(

Yeah, then it would have to be on the NS side. We are just pulling the information from NS API.  I know where was some known issues with Trends but it was fixed in a prior version.

Update: I have consulted "CGM in the cloud" - they claim that it cannot be nightscout. The trend arrow "direction string" comes from the uploading device and is not calculated by nightscout. Therefore, in my case, xDrip+ obviously must be responsible. I'm currently discussing this with the xDrip+ team.

You can also close this one, it's clearly not a problem of the NS2Win code. The xDrip team is aware of this now and (hopefully) they will find the time to look at this ...


Copy Change: Import Addresses

Context:
Given the guest clicks “Import Addresses” button
Updates (Actions)

Change the copy from

“Note: Imported addresses can only be seen by the current host
When adding addresses in bulk, separate addresses with commas”
to
“Imported addresses can only be seen by you. Separate addresses by commas when adding in bulk”

@farque65 Updating my original copy to:
“Note: Imported addresses can only be seen by you.
Separate addresses by commas when adding in bulk”


Changes to mapping don't update the functions

When adding a new searchable field, the database is updated with the new fields or foreign keys correctly, but the function is not replaced with the new version.

Neither is a new index created, when the table already exists, and a new searchable field is mapped.


Add support for new spoiler syntax

In https://github.com/zulip/zulip/pull/15281, we're adding support "spoilers", i.e. a block of text that is initially not displayed but if you click on it will appear.  This is useful for a variety of art/fiction conversations where you might want to discuss, well, spoilers, but it can also be used to just improve presentation of large blocks of content that you don't want to overwhelm the rest of what you're saying.
We prioritize making the mobile app correctly display these, as the feature is one where it's pretty bad if an official client just displays the full content by default.
See the rendered_markdown.js, spoilers.js, and rendered_markdown.scss from that PR for the parts that I expect us to need to port into the mobile app codebase.
(Well, eventually we'll want the local echo stuff, but that'll come automatically through sharing code, and is 100x less important in any case).
I was thinking about whether we could do something reasonable with backwards-compatibility for these, but I think it's pretty hard; we can hide the spoiler_content block in the base HTML, but then there's no way to read/see the spoiler part.  So I think our best bet is to try to do a mobile release soon after the feature is there, and imagine that most communities that start using this new feature also have their mobile users using a current app.

Any update on this or #4169? It's pretty unfortunate that spoilers have been released on the web for 3 months, but not on mobile yet :(

Thanks for the ping! I believe #4169 is waiting for the web implementation to be finalized, using HTML5 features:
@timabbott said:

Just a quick note -- we're planning to change the syntax for spoilers to use the <details> HTML tag.

@timabbott said, just before the Zulip Server 3.0 release:

I suspect that we're not going to change the syntax for this release; unless @andersk is excited about reworking it, overriding the browser interaction design for <details> is more focused work than I expect to be available.

I don't find an issue for it in https://github.com/zulip/zulip; Tim, do you know of one?
In any case, it might be fine to land #4169 before that gets done on the server (maybe after another round of review). The mobile app may have to handle both forms eventually anyway (right, @gnprice?), so we might as well start handling the current one.

We decided to skip the plan for changing it to a <details> tag, os we should implement the current syntax.  It's unclear if we'll end up switching to details at all at this point, so we should definitely implement the feature as present in the current API.


Added action lint workflow & Fixed shell check

Issue

close #180

Overview

Added action lint workflow
Fixed shell check

Links

Action lint

Use actionlint on GitHub Actions

Test

Lint error : https://github.com/naotama2002/conference-app-2023/actions/runs/5858004597/job/15881082851
Fixed commit : https://github.com/naotama2002/conference-app-2023/commit/f365e739c73a2d9c34528ca64c265c835104ecd1
Lint ok : https://github.com/naotama2002/conference-app-2023/actions/runs/5858214121/job/15881719315

Thanks!


Update build-meetings.test.js

We require all PRs to follow Conventional Commits specification.
More details 👇🏼
 No release type found in pull request title "Update build-meetings.test.js". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit


T01.01-Solution-CreateLayout

downloading CreateLayout

Hey Anubhav! Not sure what happened here. Let me know if there's a fix you'd like to have made, preferably as an issue, not a pull request. Because of some fancy magic we're doing in this repo, pull requests don't really work.


CDATA support

Dear developers,
I have to use mixed CDATA contents. It means that the node can have CDATA or text or both mixed.
I am not able to change the XSD Schema for a new simply type. For a fast solution I added a regex detection for the use of cdata in the jsonix.js, but I don't think that this is a good solution.
Is there a way to keep CDATA from XML file?
My fast solution:
if (this.asCDATA && value.match(/<.+>/g) != null)
Best regards,
Justin

Could you please give an example of XMLs an how you‘d like them to be represented in JS.
I‘m a bit puzzled as CDATA is just character data. So this should actually work OTOB, not sure why special support is needed.

Am 14.03.2019 um 13:50 schrieb Justinizer<EMAIL_ADDRESS>Dear developers,
I have to use mixed CDATA contents. It means that the node can have CDATA or text or both mixed.
I am not able to change the XSD Schema for a new simply type. For a fast solution I added a regex detection for the use of cdata in the jsonix.js, but I don't think that this is a good solution.
Is there a way to keep CDATA from XML file?
My fast solution:
if (this.asCDATA && value.match(/<.+>/g) != null)
Best regards,
Justin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

For example:

Something<latex>$m \ge 1 g$</latex> text.

if i convert it to js and back it gets to:

Something <latex>$m \ge 1 g$</latex> text.

Sorry to did bother you.
I have researched in other XML to objects Parser. To mix CDATA with normal content is a mistake by XSD Design. I will please the writer of xsd file to change this.
Thank you for your fast support!

I'm on FOSSGIS2019 so I can't reply promptly.
Technically this
<content lang="de"><![CDATA[
Something<latex>$m \ge 1 g$</latex> text.
]]></content>

is exactly the same as this
<content lang="de"><p>Something <latex>$m \ge 1 g$</latex> text.</p><content>

I understand that these are different cosmetics but technically it is not really relevant.
However I can follow that you might be interested in actual cosmetics to make XML more readable. The problem is, however the presentation in the JS side. Somehow you will need to distinguish between normal text and CDATA-text. So improving cosmetics on the XML side might lead to much more complex models on the JS side. Which, in my PoV is a too high price.
But here's an idea. Maybe we could implement some automatic that Jsonix automatically produces CDATA sections if the text contains too much markup/special characters? Like if there are more that N <s, >s, 'es and &s then automatically create a CDATA-section.
What do you think?

I think this is a really good idea.
Then we got a feature which other parsers like JAXB don't got.
I just found out that this is a general parser problem.

I reopen it. So we can find a solution for. Should I write some code and do a merge request. Or do you want to write code yourself?

I just had an idea. Maybe you like:
https://github.com/highsource/jsonix/pull/215
This would allow the user to do a conditional CDATA by regex.
if ((this.asCDATA && this.CDATAcondition == null) ||      (this.asCDATA && value.match(new RegExp(this.CDATAcondition)) ))