Marcpa00 readme fixes

If one follows instructions in README.md of pact-jvm-consumer-groovy, the code does not compile because PactVerificationResult is not found in the version mentionned (3.3.8).
These commits tell to use 3.4.0 and include a complete test class (with imports and class declaration).

Thank you for the PR.


1.20 update

ty <3 idk what i'm doing, never expected people to use this mod. but i'll try to get the new version up on modrinth again


Archetype needs to be updated

Hugo v0.24 now needs the default archetype to supply title and date for new posts. Hugo doesn't do it automatically anymore. Something like this needs to be added:
+++
title = "{{ replace .TranslationBaseName "-" " " | title }}"
date = {{ .Date }}
draft = true
+++

@keanemind Taking a look!

Thanks for reporting this. 💯
Addressed, pending #44


Most straightforward way to disaggregate tabletop once the spreadsheet is final?

Now that the spreadsheet is final, I'm guessing I'll get faster load time if I just start with a JSON file. Can anyone provide simple guidelines for doing that?

Use Mr. Data Converter to convert your CSV into JSON. Should work well! Then include it as var data = ..... if you'd like to skip out on the headache of reading a separate file.

Mr. Data Converter offers 4 different JSON formats:
Properties, Column Arrays, Row Arrays, Dictionary.
Do you know which one is advised?

You'll want JSON-Properties 👍


mobile onboarding: mega issue

I went through the current onboarding flow with @emceetee sharing my phone screen. I'm writing up the details here and can spin out bits into separate issues where it makes sense. Some of this touches hosting, some of it touches homestead. For context: @lukebuehler @lukestiles @jamesacklin @arthyn

Mariah first emailed me a link to sign up (from the Tlon public sign up dashboard page flow)
I clicked the link, there's too much text on this page we can reduce this down to just the call to action.
On the Choose your Urbit ID screen, the text above and below the white boxes is hard to read (black text on dark background)

The ID selector doesn't allow you to swipe left or right, you can click the sigils or the little arrows, attempting swipe move the entire page.
Once signed up you go to the hosting dashboard page, this page is fairly busy and has a blue link to take you to pending group invites. This takes you to the urbit login asking for access key. User's never copy the access key from the dashboard page. We need to skip as much of this as we can and just drop users into their urbit. This also triggered an email to the user from hosting (which is good).
Once logged in (after copying their access key) the user sees suggested groups, but they take 30s to load the proper name and image, notably my group also had no pending invite to tlon public (but with these default groups that doesn't matter as much). Urbit Community should be a default group listed here.

When you join a group you are dropped into a blank activity screen. This is a bad default - we should put users on the channel page. I'm not sure this notification tab makes sense here at all.

When you ask a user to create a group they see this screen:

There's lots of problematic stuff here, the hex color selector, the paste/image, switching back and forth between those, the behavior without s3 support etc. This needs attention.
The group creation flow asks the user to invite patps except they're new and don't know any. This really needs to be inviting emails which leverage lure to bring people into urbit via hosting.
The user then creates the group and gets dropped into another blank notifications screen, there's no path to creating a channel. We should have creating a chat channel as part of the group creation flow (or should just create one by default).
Channel creation should probably get rid of the concept of default channels and have channels always be default (and added to existing users). Hiding them in the all channels section makes them hard to discover.
When you do create a channel, after you create it you're dropped again back into the blank notification screen.
It's impossible currently to get from groups to talk on mobile. There's no way to get to the app tile page from the UI. Since hosting drops the user right into groups when the click the blue link and sign in - this is an issue.
Lastly there also the (known) issue with profiles

We should probably have the small talk install link right on the suggested groups page.

That's the main stuff I noticed on my initial 'self-onboarding' flow. We should also have Urbit Community in the default group list, but stuff generally worked beyond that - if we can fix a lot of the way these flows work it should make things a lot better. On the hosting side, password reset flow should also be possible from accounts page (not only from sign in page). Also after resetting password I shouldn't have to log in again.

Thank you, Zach.
I've consolidated all the feedback from launching Landscape up to (but not including) creating a new group. I'm treating this as a single flow: landing in Groups, joining a group from the suggested list, and getting dropped into the group.

The flow should be self-evident, but we need to do some work to complete this chapter. From left to right, here are the corresponding issues.

Faking the list of suggested groups out to appear to load faster: #2027
Dropping new joiners into /channellist rather than an empty /activity: #2028
Auto-joining all channels: #1997

I will similarly treat the new group creation flow. Plugging Small Talk could be interesting.

Great writeup! Some of the onboarding issues are being fixed by @tomholford right now. See https://github.com/tloncorp/ylem/issues/826

Btw I think UC was avoided because joining it right now is pretty harrowing and looks bad. Need solid state subscriptions to improve this or some other measure to snapshot state that we're syncing.
As far as inviting people goes this seems pretty tricky to get right. We could mix patps and email together potentially or maybe have some toggle to switch? Just brainstorming here, but I do think it's important that we include this ability to bring more people in. We should have this capability once lure service is complete right?
I know for sure we've talked about this step in the flow of group creation being problematic to begin with. Maybe a better thing to do is kill the step, have some other prompts in the new group to invite people, and that can have flows for both patp and email.

In my opinion, deferring (A) further customization and (B) inviting more ships to after group creation will go a long way here. Filling out a multi-part form and getting dropped into an empty group isn't great.

Ack on delaying customization and inviting more ships to post creation (though channel creation maybe?). For UC we should include and handle delayed loading state.

@zalberico Closing this mega-issue. We addressed most of the post-Groups-launch issues (or at least account for them) and @urcades is working on the pre-Groups-launch flow.

When you join a group you are dropped into a blank activity screen. This is a bad default - we should put users on the channel page. I'm not sure this notification tab makes sense here at all.

Fixed. New users are redirected to the Find Groups page.

When you ask a user to create a group they see this screen: (create group dialog) There's lots of problematic stuff here, the hex color selector, the paste/image, switching back and forth between those, the behavior without s3 support etc. This needs attention.

Opening a new issue.

The group creation flow asks the user to invite patps except they're new and don't know any. This really needs to be inviting emails which leverage lure to bring people into urbit via hosting.

Opening a new issue.

The user then creates the group and gets dropped into another blank notifications screen, there's no path to creating a channel. We should have creating a chat channel as part of the group creation flow (or should just create one by default).

Fixed. We drop you directly into the channel manager.

Channel creation should probably get rid of the concept of default channels and have channels always be default (and added to existing users). Hiding them in the all channels section makes them hard to discover.

Fixed. Everyone joins every channel.

When you do create a channel, after you create it you're dropped again back into the blank notification screen.

Fixed. We keep you in the channel manager.

It's impossible currently to get from groups to talk on mobile. There's no way to get to the app tile page from the UI. Since hosting drops the user right into groups when the click the blue link and sign in - this is an issue.

For further consideration by the design team in our "system chrome" efforts.

Lastly there also the (known) issue with profiles

Fixed. Profiles work and we haven't taken down the network with subscription load (yet), so we'll cautiously open up more avenues to initiate the subscription.

We should probably have the small talk install link right on the suggested groups page.

Good idea, opening another issue.


[Question] Custom implementations

How would I write a custom implementation for classes? For example, Windows Forms, if I wanted to map the native controls to HTML elements such as buttons, inputs, etc...

You can hand-write stubs in JS like the included ones, or you can write C# 'proxy' libraries that replace individual methods on the classes, or you can write a C# replacement for the entire library.

Could you give a quick example? There is a large amount of source to go through...How would I write a proxy class, in particular? I am not asking for a code sample, just a more specific guide... Thanks!

You could look on Proxies.4.0 and Proxies.Bcl projects as example. Also look in wiki:https://github.com/sq/JSIL/wiki/Meta-Attributes.
Also it will be good idea to look on https://github.com/sq/JSIL/wiki/Troubleshooting-FAQ and some scripts in Libraries\IgnoredBCL folder.

Is there an example I could look at? I really appreciate the help

Thanks! I really appreciate the help!


Multi-Column Layout Pagination is Broken

If you look here https://github.com/readium/readium-shared-js/blame/develop/js/views/reflowable_view.js#L694 and then here https://github.com/readium/readium-shared-js/blame/develop/js/views/reflowable_view.js#L504 there are a number of issues that I want to fix.

First the math does not work: (a-b)/c = j  is not reversed with  (j+b)*c It needs to be (j*c)+b The error shows up on books that use the columnGap.
Second the rounding causes 1 px errors that propagate as the pages are turned. In multi-column layouts with tight margins the errors show up quickly by clipping text on the left.
I’m proposing to add a new variable to the paginationInfo which will store the pageOffsetSize instead of rebuilding it from the column size every time.

Thoughts? I open to fixing in a different manner.

Let's see:
(1)
_paginationInfo.pageOffset = (_paginationInfo.columnWidth + _paginationInfo.columnGap) * _paginationInfo.visibleColumnCount * _paginationInfo.currentSpreadIndex;

https://github.com/readium/readium-shared-js/blob/develop/js/views/reflowable_view.js#L504
and
(2)
_paginationInfo.columnWidth = Math.round(((_htmlBodyIsVerticalWritingMode ? _lastViewPortSize.height : _lastViewPortSize.width) - _paginationInfo.columnGap * (_paginationInfo.visibleColumnCount - 1)) / _paginationInfo.visibleColumnCount);

https://github.com/readium/readium-shared-js/blob/develop/js/views/reflowable_view.js#L694

I do not understand "the math does not work". Are you referring to (1) or (2) (see my message above)

PS: the columnGap is 60px by default (visible blank space between each column of a reflowable two-page spread).
There is an optimal page width (configurable in the cloud reader and Chrome app via a slider control), so the visible "margins" on the left/right of the viewport are arithmetically determined by the window / webview size.
) the columnGap value is fixed.

You're right. I misread a parentheses. Staring at the code too long I guess.
So yes, the only problem is the rounding. The fix I want to implement will take rounding out of the equation and simplify the paging code with less recombining of the parts.

Did Juan's latest odd/even width fix help in any way? Is that a separate problem?
By the way, thanks for spending time thinking about this, much appreciated.

No problem! Hopefully you didn't spend too much time verifying the calculations were correct.
I'm looking at the development branch a few days old. Is the odd/even fix in there?
From a higher level stand point, it might make sense to simplify the code by decoupling the page turn size from the column size within the page. While minor, it is also doing a lot of calculations for each page turn that could be done once on a view port resize. In the proposed solution, turning the page would be multiplying the pageOffsetSize to the currentSpreadIndex or page.

https://github.com/readium/readium-shared-js/commit/37a514124aaea77e93d561c703244da718f83882

I do not think that fix works when the columnGap is an odd number. Is the columnGap normalized somewhere else?

Good point @matwood
Added comment: https://github.com/readium/readium-shared-js/commit/37a514124aaea77e93d561c703244da718f83882#commitcomment-17056184

@JCCR 's useful reply about odd/even columnGap: https://github.com/readium/readium-shared-js/commit/37a514124aaea77e93d561c703244da718f83882#commitcomment-17057065

I don't know the code base as well as you guys, but I think @JCCR 's response supports my argument for decoupling the columns inside the page from determining the 'page' size for the left/right or up/down shifts. Knowing that at a minimum the page flip is correct makes it easier/less risky manipulate the layout inside the page.
We can discuss further on tomorrows call.

I created a PR here: https://github.com/readium/readium-shared-js/pull/288
In my testing it worked, but please double check my assumptions with the math. The simplification here was to calculate the full page size whenever update pagination is called and use that calculation to turn the pages. Constantly rebuilding the page size from the columns on the page opened up issues with rounding and unnecessary calculations.

Waffle: connects to #288

Similar (identical) issue? https://github.com/readium/readium-shared-js/issues/181


Add owners file for CI

Needed by Prow to know who is trusted.

@qiwzhang please force merge (without CI) when you review.


there is no way to "destroy" an instance of the router to make it remove it's "hashchange" callback

Fixed in my PR.

I push a PR that fix it: https://github.com/tsoding/grecha.js/pull/17


model update for user create and update

Pull Request summary:
version check and model update for user
Description of changes:
User creation / updating payload has changed in 20.14 and above
Until 20.13, the payload was:
{"description":"nik","group":["netadmin"],"locale":"en_US","userName":"nik","password":"nik","resGroupName": "global"}

From 20.14 and above, the payload is:
{"description":"test","group":["netadmin"],"locale":"en_US","resourceDomainName":"all","userName":"test","password":"test"}

Checklist:

[X] Make sure to run pre-commit before committing changes
[X] Make sure all checks have passed
[X] PR description is clear and comprehensive
[X] Mentioned the issue that this PR solves (if applicable)
[X] Make sure you test the changes

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/431


Send confirmation email for registration

Proposed Changes
Upon registration, the system sends an email to the user to confirm their registration.
Type of Change
What kind of changes this Pull Request introduces to Falko?

[ ] Bugfix
[x] New Feature

Checklist

[x] Pull Request's name is self-explanatory and its in English.
[ ] There are no Rubocop issues.
[ ] Travis build has success (tests, code climate and codacy checks).
[x] Pull Request is linked to an existing issue.
[ ] Seeds have been created to the new User Stories.

Other Comments
When creating a new version of the user address, email confirmation is required, so a V2 has been created and the V1 has been retained as a comment. The versioning of the whole API is something that is beyond the scope of this issue, so we opted for the above.
Close #214

Is this a WIP PR? Because there's still some tests breaking in the CI tool.

Is this a WIP PR? Because there's still some tests breaking in the CI tool.

Now the PR is complete. Now there is the versioning of endpoint /users, where in v1/users email confirmation is required to register new users.

In general, this look ok to me, I just didn't get why there are so many templates that apparently do the same thing. Might be just a technicality tho ¯_(ツ)_/¯

For some reason when I delete templates from the user_mailer folder I get a missing template error. The same happens when I remove templates from the layouts folder. Keeping the two template folders all works beautifully ¯_(ツ)_/¯

By the way, sending emails is using Sendgrid. It would be interesting for a project maintainer to create a Sendgrid account and add the key to the environment.rb file on deploy.

Hey @alaxalves, I added some exceptions, could you review again?


Added purge CLI command

Adds a purge command to clean the package cache, can optionally specify the --local flag to also clear out the local package storage.
Closes #4441

I think it's better to place this under "packages" (or "pkg") subcommand, like typst pkg purge-cache

But there currently isn't a package command, so I would need to create it then? Is it really warranted?

I think it would make sense to have a subcommand. Otherwise you may think it purges the current compilation result or something like that. Or maybe typst purge-package-cache?

Is it really warranted?

I think yes, because I'm not sure this will be the only command related to packages

Is it really warranted?

I think yes, because I'm not sure this will be the only command related to packages

Yes you're right, it makes sense under that lens!

At the same time, #4441 proposed not only a CLI to clear cache, but also some hints. So I don't think this PR can really close the issue.

I think we need to have a broader plan for CLI commands related to package management rather than making an ad-hoc decision here.

Following @laurmaedje's comment, I think it's best to close this for the moment.


Is a Static Library for Windows available?

Hello,
I would like to try out your library, but I need a static version so that it can be embedded in the (Windows) executable.
Do you offer that?
Thank you

As you've figured out by now, the forums are the appropriate place for questions like this.  The issues on here are for bug reports only.
Ref: https://www.couchbase.com/forums/t/couchbase-lite-c-build-a-static-windows-lib-without-any-dlls-dependencies/


Geonode installation error

Please fill the following information to avoid closing issue
Describe your issue in detail

Geonode Version : (2.6)
log (optional):

pip install -r requirements.txt

**Output:**
Obtaining geonode from git+git://github.com/GeoNode/geonode.git@master#egg=geonode (from -r requirements.txt (line 1))
  Updating ./Envs/geonode/src/geonode clone (to master)
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/ubuntu/Envs/geonode/src/geonode/setup.py", line 33, in <module>
        version=__import__('geonode').get_version(),
      File "geonode/__init__.py", line 25, in <module>
        from .celery import app as celery_app
      File "geonode/celery.py", line 24, in <module>
        from celery import Celery
    ImportError: No module named celery

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /home/ubuntu/Envs/geonode/src/geonode/

@NicholasDsouza1996 any updates on this issue?

Use pip install with --ignored-installes options to reinstalled celer
Pip install celery==(look in ur requirements.txt) --ignored-installed

@NicholasDsouza1996 feel free to reopen this issue


Add support for the decimal separator

Inside the current application I am developing we are showing the user decimal values of certain content. We want to use the correct decimal separator based on the user's locale so they won't be confused when inputting or looking at decimal data.
It would be nice to be able to have the decimal separator available through the localize API.
Describe your environment

react-native-localize 1.0.0
Target platform: both

Solution
Add support for getting the decimal seperator using the native methods available:
https://developer.apple.com/documentation/foundation/nslocale/1643064-decimalseparator
https://developer.android.com/reference/java/text/DecimalFormatSymbols

@RemyLivewall I published a new version with a `get


Make clips selectable from each view

It must be more accessible to switch a clip from the templates view.

This function has been added in version 1.5.0.


poi-map-component.ts: Match verb tense of color and grayscale

s/colored/color/ to match verb tense of grayscale (cf grayscaled).
Done in laziest way to touch minimal lines. Could be changed throughout for slight gain in maintainability.
Tested, see: http://poi-map-app-joshix.apps.summit23-dr.w6gk.p1.openshiftapps.com/

good catch. THX @joshix !


possible to switch register serving input/output feature map?

Hello, is it possible to first solve the input feature map in FMEM0 and solve the output feature map in FMEM1 in the first level, but for the next level use FMEM1 as input and solve the output feature map in FMEM0, and switch so on?
Thanks in advance :)

Hi NinaHimmelsbach,
Sorry I have difficulty understanding your question. Could you provide more context: what you are trying to accomplish and elaborate more on what "level" and "FMEM" you are referring to?
Best regards,
Jiacong

Hi Jiacong,
Yes of course. I would like to have three feature map memories. FMEM0, FMEM1 and FMEM2. The three feature map memories store the input
and output feature maps and are switched dynamically to
exploit the fact that the output feature map of the previous
layer is the input feature map of the next layer. For instance,
the initial feature map is loaded into FMEM0 and the output
feature map of the first layer is stored into FMEM1. For the
next layer, FMEM1 will provide the input feature map and
the generated output feature map is stored back into FMEM0. Cause I would like to implement a ResNet workload where an additional
feature map for the parallel path needs to be managed, FMEM2 should store this feature map of the parallel path.
Thanks a lot for your help!
Best regards,
Nina Himmelsbach

Hi Nina,
Thank you for your detailed explanation.
Currently, the memory hierarchy and memory serving operands are defined within the hardware template for entire network. This means that the same memory topology will be consistently applied across all layers, and the intended dataflow changes in your case won't happen automatically. However, there are 2 possible approaches you could consider:
1. Define FMEM0, FMEM1, FMEM2 as a memory shared by activation and output.
Treat FMEM0, FMEM1, and FMEM2 as a memory cluster and define a shared memory with the same size in the input file. This setup will automatically facilitate the operation you mentioned within the memory. Note: This solution is applicable only when the memory bandwidth of FMEM0, FMEM1, and FMEM2 is the same.
2. Define FMEM0, FMEM1 and FMEM2 as separate memories and iteratively update the memory serving operands in your intended way for different layers. There are 2 possible ways to achieve this:

If you are familiar with how the accelerator object propagates within ZigZag framework, you could change the serving operands of FMEM0, FMEM1 in the accelerator object after the WorkloadStage. Use the layer id within WorkloadStage as a handle.

If you are unfamiliar with ZigZag framework, create another script to call ZigZag run for only a single layer. For each layer, update the hardware input file --> skip all other layers except the targeted layer in WorkloadStage --> collect output data. By traversing all layers, you will obtain the total cost for the entire network.

Best regards,
Jiacong

Thanks, I'll try it :D

No problem! Let me know if you meet any problem.
Best regards,
Jiacong


Editable install broken with newer versions of setuptools

Describe the bug
A clear and concise description of what the bug is.
After running pip install -e ., I get
$ ctapipe-process --version
Traceback (most recent call last):
  File "/scratch/mnoethe/envs/cta-dev/bin/ctapipe-process", line 5, in <module>
    from ctapipe.tools.process import main
  File "/net/nfshome/home/mnoethe/ctapipe/ctapipe/tools/process.py", line 9, in <module>
    from ..calib import CameraCalibrator, GainSelector
ImportError: cannot import name 'CameraCalibrator' from 'ctapipe.calib' (unknown location)

when not running in the ctapipe directory. I suspect this is the same issue I faced as with eventio and the solution was to switch to the src/ layout.
Doing SETUPTOOLS_ENABLE_FEATURES="legacy-editable" pip install -e ../ctapipe also fixes the issue
To Reproduce
Setup a fresh development environment.

Is this a pip issue, or does python setup.py develop do the same thing?

There is now a pep defining editable installs, which is now supported by setuptools, and pip calls this new standardized hook.
I didn't test if python setup.py develop also does the new method or is still the legacy method

Ran into this again. THe current fix is to use legacy compat mode:
pip install -e . --config-settings editable_mode=compat

The only thing that reliably fixed that in other projects was switching to the src/ based project layout tree.


Add dart server to project

This PR adds a dart backend to the portfolio project. I plan to finish translating the rest of the js to dart early this week. This PR is just to get the server published.

There are a lot of file moves and deletions. The only new code is in portfolio/bin/server.dart. Please let me know if you have any suggestions for this code or project structure!


changed DateRangePicker

changed DateRangePicker
1-instelled new library rsuite
2-new NavFilterByDate
3-changed use_history-filters
3-changed use_orde_-filters

Original
Updated

** original screenshot **
** updated screenshot **

Checklist

[x] 🔽 My branch is up-to-date with "development" branch
[x] ✅ All tests passed locally
[x] ✨ My changes working with up-to-date front-end and back-end part locally, like charm
[x] 🔗 Link pull request to issue

please, set styles like in whole admin part

please, set styles like in the whole admin part

добавив нові стилі


Error om

Ping error

Use the newest version.
It's not hard

I'm using the latest version but still get the error


feat(@kampus/ui-next): Add other Shadcn components

Description
Adds shadcn components for our ui library.
Added components:

Validation message
Time ago
User avatar
Theme provider
Theme toggle
Text
Social Media Buttons
Link
External Link

Checklist

[x] discord username: username#0001
[x] Closes #412
[x] PR must be created for an issue from issues under "In progress" column from our project board.
[x] A descriptive and understandable title: The PR title should clearly describe the nature and purpose of the changes. The PR title should be the first thing displayed when the PR is opened. And it should follow the semantic commit rules, and should include the app/package/service name in the title. For example, a title like "docs(@kampus-apps/pano): Add README.md" can be used.
[x] Related file selection: Only relevant files should be touched and no other files should be affected.
[ ] I ran npx turbo run at the root of the repository, and build was successful.
[x] I installed the npm packages using npm install --save-exact <package> so my package is pinned to a specific npm version. Leave empty if no package was installed. Leave empty if no package was installed with this PR.

How were these changes tested?
Please describe the tests you did to test the changes you made. Please also specify your test configuration.

@cansirin just cosmetic comment, can you adjust your description to have the list of all the components you have added so I can create ticket to add them on storybook, as we discussed here https://github.com/kamp-us/monorepo/issues/412#issuecomment-1624847634

@cansirin just cosmetic comment, can you adjust your description to have the list of all the components you have added so I can create ticket to add them on storybook, as we discussed here #412 (comment)

Updated the description now, thanks for creating the tickets!


no-extra-label

Current dependencies on/for this PR:

main

PR #43   👈

This comment was auto-generated by Graphite.


Shopify's formatting for JSON files is different than the Shopify prettier plugin

Describe the bug
Does anyone know why Shopify's formatting for JSON files is different than the Shopify prettier plugin? Does Shopify use a different formatter server-side?
All I did was pull from Shopify using the CLI and format locally with the shopify prettier plugin.
I think I'm just going to add *.json to my .prettierignore so I don't have to deal with this.
Source

Expected behaviour
Shopify will format the same way prettier Plugin does.
Actual behaviour
Shopify is formatting different to the prettier Plugin
Debugging information
Additional context
https://x.com/JasonHassold/status/1840975183064011003/photo/1

Does Shopify use a different formatter server-side?

The answer to this is yes. Our servers are running ruby. We don't run JS server side (therefore no prettier).
But like the comment says, you probably shouldn't edit those manually anyway.
.prettierignore sounds like a good solution.

Does Shopify use a different formatter server-side?

The answer to this is yes. Our servers are running ruby. We don't run JS server side (therefore no prettier).
But like the comment says, you probably shouldn't edit those manually anyway.
.prettierignore sounds like a good solution.

Maybe adjust the prettier config, than it could be aligned or?


Different color scheme for references modal

VSCode Version: Version 1.0.0 (1.0.0)
OS Version: Mac OSX EL Capitan

When clicking on references the modal has a different theme from the one which  I selected in VS code.
Steps to Reproduce:

Change the theme to something other than the default.
Click on References and the modal has a different color scheme.

@ashutoshraina can you attach a screen shot?

The two color schemes are different. If there is a setting which allows the user to set the scheme for the modal as well, the that should be ok as well.

I believe that's a UX decision.

@ashutoshraina, are you referring to the dark-blue background color and the light blue outline colors of the modal?

Yes, that is the issue. I was hoping for the modal to pick up the same scheme. The change in background colour is jarring.

We intentionally designed the peek window to have a different background to the main editor. That way people can easily distinguish it from the editor when they are scrolling through the file.
In earlier designs we investigated what the experience would be like if the background to the peek window wasthe same as the background of the editor. What we found was that when the peek window was scrolled out of view, perhaps when somebody needs to scroll to the bottom of a file to browse some code, it was more difficult to get back to the peek window by quickly scrolling back through the file as it is not so easy to identify the peek window when it has the same background as the rest of the editor.

@ashutoshraina, it seems your frustration is not that the background color is different but that it's always blue no matter what theme you are using.  For example, if you were to be using a warmer theme where no blues are used, then the blueish peek window (as it is currently) would stand out too much from the rest of theme.  Is that correct?

@bgashler1 yes, that is correct.
As long as there is way for us to configure what theme the modal should have we should be OK.

Not sure if this is themeable, assigning to @bpasero and @aeschli to groom this

Yes, the peek view is now fully themable:
See https://code.visualstudio.com/docs/getstarted/theme-color-reference#_peek-view-colors


Gdbserver: clear shutdown event after disconnect

Otherwise, the listening socket is closed, preventing reconnection.

Thanks for all the fixes!


RFC 8785 JSON Canonicalization support

Thoughts on implementing RFC 8785 support when formatting via Standardize, or add another Canonicalize() method which does the same thing?

For others,
JSON Canonicalization Scheme (JCS)
https://www.rfc-editor.org/rfc/rfc8785

RFC 8785 depends on a non-trivial sorting order for object keys and a non-trivial formatting for floating-point numbers. It may be out of scope for the hujson package to provide an implementation for this.
If you need canonical formatting, you can do:
import (
    "github.com/tailscale/hujson"
    "github.com/go-json-experiment/json"
)

b, err := hujson.Standardize(b)
if err != nil {
   log.Fatal(err)
}
if err := (*json.RawValue)(&b).Canonicalize(); err != nil {
    log.Fatal(err)
}

Noted — was only curious because this package has clean code and figured it was relative.  We have some stuff for this already;  appreciate the thoughts! 🙏


Fix make install command

I had to change the following to be able to run make install. Not sure whether this was working with a previous version of npm or if it's an oversight, so I'm opening this pull request (sorry, I really like pull requests :p) for confirmation.

Oops. 😅Think it's just an oversight.  Why the hell does it log to both standard output AND standard error at the same time? 😕)


Realsense SR300 does not work on Jetson TX2

Required Info

Camera Model
SR300

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Linux(Ubuntu 16.04)

Kernel Version (Linux Only)
4.4.38-tegra

Platform
NVIDIA Jetson TX2

SDK Version
2.21

Language
python

Segment
Robot

Issue Description
I installed pyrealsense2 following #2586 issue. I believe its installed well.
And this is a example code which i tried.
import pyrealsense2 as rs
import numpy as np
import cv2
Configure IR stream
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.infrared, 640, 480, rs.format.y8, 30)
Start input streaming
pipeline.start(config)
Ignore first 1sec for camera warm-up
for i in range(30):
frames = pipeline.wait_for_frames()
try:
while True:
    # Read image
    frames = pipeline.wait_for_frames()
    infrared_frame = frames.first(rs.stream.infrared)
    IR_image = np.asanyarray(infrared_frame.get_data())

    # Display image
    cv2.imshow('IR image', IR_image)

    # Exit on ESC key
    c = cv2.waitKey(1) % 0x100
    if c == 27:
        break

finally:
pipeline.stop()
cv2.destroyAllWindows()
I thought it should be done. But it made error like
Traceback (most recent call last):
File "", line 1, in
RuntimeError: libusb_open(...) returned LIBUSB_ERROR_ACCESS Last Error: Permission denied
i found many solutions including
/etc/udev/rules.d/90-usbpermission.rules << this one and
sudo adduser "username" plugdev << this one.
But in my TX2 /etc/udev directory doesn't exists and sudo adduser didn't make any sense.
PLEASE HELP ME

Hi @zmhn2003,
Please also check if you follow below instruction to setup the system environment.
https://github.com/jetsonhacks/buildLibrealsense2TX
Make sure to apply udev rules and reset your platform:
$ sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules && udevadm trigger

Hi,
Thanks for your kindness. I treid many ways and it works now. Thank you!


some metrics that generate by jolokia and send via telegraf to questdb drop because has dot in it

Is there any way to fix this issue with jolokia?
https://github.com/questdb/questdb/issues/3856
need to send metric with jolokia to questdb but some metrics has dot in their name and questdb drop them.
like these:
-PeakUsage.init
-CollectionUsage.max
-Usage.max

@grgrzybek Thanks, use rename feature of telegraf.

I ... don't quite understand...

I think @mehrdad2000 refers to the ability to transform names in the telegraf import via configuration, so that you can get rid of forbidden characters during that process.

So nothing that requires a change in Jolokia itself?

@rhuss exactly i rename fields before send to questdb with telegraf. and issue resolved.


fix(chat): prevent chat to be accidentally closed

LiveURL: https://smartfaq-prevent-accidental-close-chat.surge.sh

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unable to connect the hook while initializing project.

I am trying to implement PayPal for my webshop. However, my valid_ipn_signal isn't working the way it should. Below are my files.
signals.py
from django.shortcuts import get_object_or_404
from paypal.standard.models import ST_PP_COMPLETED
from paypal.standard.ipn.signals import valid_ipn_received
from orders.models import Order

def payment_notification(sender, **kwargs):
    print("Hello i am here")
    ipn_obj = sender
    if ipn_obj.payment_status == ST_PP_COMPLETED:
        # payment was successful

        order = get_object_or_404(Order, id=ipn_obj.invoice)
        # mark the order as paid
        order.paid = True
        order.save()

valid_ipn_received.connect(payment_notification)

apps.py
from django.apps import AppConfig

class PaymentConfig(AppConfig):
    name = 'payment'
    verbose_name = 'Payment'

    def ready(self):
        import payment.signals

__init__.py
default_app_config = 'payment.apps.PaymentConfig'

My PayPal process is going fine. I am able to pay with my test developer account. However, I think the valid_ipn_received.connect(payment_notification) in signals.py is not being called. Therefore all my orders in the admin panel show unpaid.
Am I missing out on something or there is a bug in this library ? Please help.

As mentioned in the README/CONTRIBUTING document, I don't provide help with support requests, sorry. Please review the docs, hopefully you will be able to find the bit you missed. If there is something missing in the docs please let us know.

Same here, I followed the docs, I setup the signals properly, and my signal isn't firing either. I copied the docs word for word (even used the same code to test with a print statement like above.). I think either this feature is broken, or the docs are missing something to make this part work.

@ZackPlauche This signal is a critical part of the application, and I have a live app that has been using it for many years, so it is unlikely that it is completely broken. I'm afraid it's impossible for me to debug what's going wrong for you. Have you tested in development using the PayPal sandbox something like ngrok, and ensured that you are actually getting something coming in from PayPal? https://django-paypal.readthedocs.io/en/stable/standard/ipn.html#testing

Ah I see! It could be Ngrok. I found an article explaining how to set it up on a Django project with Django-paypal. I really think it'd be useful to include a small how to guide for Ngrok in the docs though, because you really can't test without it.
Also, when I pushed my project to Heroku, I'm still not able to get the signals to fire (but I didn't see anything saying it should work just because it's in production either).
I did setup my signals properly, and another signal in the same file is working for separate functionality (meaning not with PayPal).
Should it work in production with a normal setup like in the docs?


Basic audio support

Add support for basic playing sounds and music (only wav for first time, without audio streaming)
Methods' signature proposal:
AudioObject Audio.NewSource(string fileName, string type)
void AudioObject.SetLoop(bool loop)
void AudioObject.Play()
void AudioObject.Pause()
void AudioObject.Stop()

Only possible way to implement audio in .NET Core by now - is using OpenAL lib (OpenTK implements it)
But  OpenTK.NETCore may have some problems with OpenAL, need to investigate. We can also use a fork adapted to .NET Core: https://github.com/mellinoe/opentk

Task done, but tested only on Manjaro (Arch based), Linux Mint and Windows.
Arch Linux is currently not supported.


Cron not running commands

resolution_fixed   |    by<EMAIL_ADDRESS>
The cron script to update the puppet repository in trac isn't being run for some reason

Issue migrated from trac:143 at 2024-01-31 17:38:23 +1100

<EMAIL_ADDRESS>commented

RedHat finally pushed out a patch to nfs-utils-lib yesterday that should fix this problem.  It will appear in CentOS within a day or two.

<EMAIL_ADDRESS>commented

$ sudo ls /var/spool/cron/ -l
total 16
-rw------- 1 root   root 756 May  6 08:43 access
-rw------- 1 root   root 421 May  6 08:45 ju7_umui
-rw------- 1 nobody root 469 Jul  3 17:19 root
-rw------- 1 saw562 w35    1 Jul 25 16:18 saw562

Looks like NFS has borked the ownership, can probably work around by changing the update user to ju7_apache.

<EMAIL_ADDRESS>commented

Check owner/group of the crontab file.

<EMAIL_ADDRESS>commented

The patch has to be applied to the NFS server.

<EMAIL_ADDRESS>changed resolution from `` to fixed

<EMAIL_ADDRESS>commented

I've installed the update but still couldn't chown the file to root:root. I've just remade the file with the same contents & restarted crond, the updates are working now.


Update diesel requirement to <1.5

This just bumps up the restriction on diesel to allow v1.4.*.

Released. Thank you for your contribution.


Add IMAP server health check

I tried myself with a imap check.
I don't used https://pkg.go.dev/net/smtp because found a better imap library: https://github.com/emersion/go-imap
closes #52

Oh, I don't know if this is my fault in the pipeline?
Please provide an upload token from codecov.io with valid arguments


Word add-in tutorial. Security certificate error.

Article URL
"Tutorial: Create a Word task pane add-in" ... "Test the add-in"
Issue
In short: In Word for Desktop I get a security certificate error when trying to the follow the tut.
In detail:
I've successfully completed the Build your first Word task pane add-in, using:

"Yeoman generator for Office Add-ins";
Sideloading on Windows (for used in Word on Windows Desktop); and
With the project in Visual Studio Code.

However, I get an error when attempting "Tutorial: Create a Word task pane add-in". (This tutorial avoids the "Yeoman generator for Office Add-ins", if I'm understanding matters correctly) . Specifically when attempting  to sideload on Windows  I get the following error in my Taskpane:
ADD-IN ERROR
The content is blocked because it isn't signed by a valid security certificate.
[Restart]

In following "Tutorial: Create a Word task pane add-in" I've Installed Word-Add-in-Tutorial\Start\certs\ca.crt by, as directed, following Installing the self-signed certificate, using "Method #2: manually install the certificate" for Windows. In short, by double clicking ca.crt and installing it into the "Trusted Root Certification Authorities" store.
That is, it seems I've successfully trusted the Certificate Authority. However I haven't signed the project as such (and am unclear if that is required and how one would do that if it is). In \certs\ I see the: ca.crt; server.crt; and server.key.
Is there a missing step in the documentation that requires one to sign the project (quite apart from installing the ca.crt for Certificate Authority trust)?

@JohnLukeBentley sorry to hear that you've run into this problem. @Rick-Kirkham is this something that you can investigate? Thanks!

Thanks @kbrandl !

I can reproduce this. I'm investigating.

This cause of this issue may be that there are extraneous/old/untrusted certificates for localhost in the certificate store on your machine -- as described in my last comment on this issue: https://github.com/OfficeDev/generator-office/issues/486. I was able to resolve the issue described there by manually removing the extraneous localhost certs -- perhaps give that a try?

I've tried that. But it found the old cert anyway. Still working on it.

I can reproduce this on one of my computers, but everything works fine on another. We expect to be making a change to the tutorial in the next few days that will change the cert handling significantly anyway. I think we're not likely to get a shorter term fix.

@kbrandl. Thanks for that suggestion. I tried a few variations on that suggestions with no luck. Anyway ....
@Rick-Kirkham. Thanks. I'll wait for the cert handling overhaul.

@JohnLukeBentley This fixed it on my machine. Could you see if it fixes it for you?

Close all browsers and all Office apps.
If the server is running, shut it down by entering Ctrl-C twice. Then close the command prompt window.
Open the bconfig.json file in the root of the project.
Replace the line "https": true, with the following:

"https": {
        "key": "./certs/server.key",
        "cert": "./certs/server.crt"
    },

Repeat the "Test the add-in" section of the tutorial.

That fixed it!
In addition to acting in conformance with your steps above, I  (re)Installed Start\certs\ca.crt by, as directed in the Tut linked Installing the self-signed certificate, by double clicking it and installing it to the certificate store in "Trusted Root Certification Authorities". This displays as "Issued To: localhost-ca".
I did this given my fiddling with my certs after @kbrandl's helpful suggestion.
Does your fix count as the "significant" change to cert handling, or is there some other pending overhaul to be done?

@kbrandl is working on a more drastic improvement. The tutorial won't be based on cloning a repo. Instead, you'll use our Yo Office tool to create a project. There's a point in that process, where the tool will just trust a cert automatically.

Closing this as fixed because the fix goes to the repo used by the tutorial, not this repo for our docs.

Yeah, using the Yeoman tool would make the tut consistent with the immediately prior "Build your first Word task pane add-in". So that overhaul of the tut sounds like the right thing to do.
Your fix allows me to keep progressing through the tut in its current state. So I'm grateful for that.
By the way, since last posting I reset my local changes, fetched from the updated repo, and restarted the tut. And it all works fine so far: I can work passed the "Test the add-in" in virtue of the incorporated cert references in bsconfig.json.
In short, yes I think it right for you to close this as fixed.
Thanks for your help!


Data wide/long reshape functions

What are your thoughts on adding data reshape functions similar to the melt and wide_to_long functions in pandas or pivoting, gather and spread in the tidyverse?
It's a very common pattern when loading data for charts, such as in the multiline example. I find myself frequently writing these reshape functions in each project and they're often some of the least literate parts of my code. They're especially distracting when trying to teach people chart concepts and they hit a big speed bump right off the bat.
Anyway, it would be a great addition to the JavaScript world. If there are other packages that have already done this that I missed, let me know. I've seen a few "let's rewrite pandas/dplyr in js" packages over the years but none ever gets completed, let alone maintained. Happy to be wrong, though, if someone has broken off these functions somewhere!

Sounds interesting? I’d love to see a sketch of what these might look like. Perhaps some combination of array.flatMap and d3.group?

Using tidyr's pivoting examples I started putting together some ideas here: https://github.com/mhkeller/pivoting.
I think the most readable is 2b but that's an older style.

I’ve dropped 1 and 2a into Observable notebooks for easy tinkering:
https://observablehq.com/d/41bc065377cb7e36
https://observablehq.com/d/7021f34babd6fbf6

If I were to write the relig_income example in vanilla JavaScript, I’d probably use array.flatMap like so:
data.columns.slice(1).flatMap(income => data.map(({religion, [income]: count}) => ({religion, income, count})))

Here’s another take on your first pivot function:
function pivot(data, columns, name, value) {
  const keep = data.columns.filter(c => !columns.includes(c));
  return data.flatMap(d => {
    const base = keep.map(k => [k, d[k]]);
    return columns.map(c => {
      return Object.fromEntries([
        ...base,
        [name, c],
        [value, d[c]]
      ]);
    });
  });
}

I haven’t evaluated the performance of any approach yet.
https://observablehq.com/d/3ea8d446f5ba96fe
Not directly related to this issue, but I’m also interested in making columnar data easier to use in JavaScript, since that should offer better performance. A column-oriented data structure is typically what I think of as a “data frame”.

Very neat destructuring in the vanilla js example. The question I have that came up working through number two was 'What's the best API to handle transform arguments?' What I did with nested arrays I thought was a bit unwieldy and I hadn't yet gotten to implementing all of the features, such as names_pattern.
An alternative would be to limit the scope of this function and say it doesn't handle column name cleaning or casting (although I could see something like names_pattern being useful). The full workflow for someone doing the multiline example would then be something like:

pivot the raw data
clean with a forEach, map or filter
group or rollup

For large datasets, maybe going through the data multiple times is a pain, performance wise? For the casual user, it can be nice just having one data transformation step, for sure.
I think my preference would be that if there's a manageable API, it would handy to do these transformations within pivot but not at the cost of getting lost in the arguments.

I made pivot 1 as a generator for your amusement https://observablehq.com/d/ac2a320cf2b0adc4

See also https://observablehq.com/@tomfevrier/kiwis

An example here https://observablehq.com/@didoesdigital/16-july-2020-data-wrangling-for-population-pyramids ; in that case the "best" strategy, it seems, is a flatMap https://observablehq.com/@didoesdigital/16-july-2020-data-wrangling-for-population-pyramids#pyramid

If I were to write the relig_income example in vanilla JavaScript, I’d probably use array.flatMap like so:
data.columns.slice(1).flatMap(income => data.map(({religion, [income]: count}) => ({religion, income, count})))

Regarding the inverse operation (long to wide), is there a more elegant alternative to using d3.groups, array.map and array.reduce?
d3.groups(data, d => d.religion)
  .map(([religion, x]) => {
    return {
      religion,
      ...x.reduce((acc, { income, count }) => {
        acc[income] = count;
        return acc;
      }, {}),
    };
  });

If I were to write the relig_income example in vanilla JavaScript, I’d probably use array.flatMap like so:
data.columns.slice(1).flatMap(income => data.map(({religion, [income]: count}) => ({religion, income, count})))

Regarding the inverse operation (long to wide), is there a more elegant alternative to using d3.groups, array.map and array.reduce?
d3.groups(data, d => d.religion)
  .map(([religion, x]) => {
    return {
      religion,
      ...x.reduce((acc, { income, count }) => {
        acc[income] = count;
        return acc;
      }, {}),
    };
  });

@nachocab Can you enable link sharing on the notebook so we can see?

@nachocab Can you enable link sharing on the notebook so we can see?

Here’s another take of the inverse operation, replacing array.map with Array.from, and replacing array.reduce with Object.fromEntries:
Array.from(
  d3.group(data, d => d.religion),
  ([religion, group]) => Object.fromEntries(
    [["religion", religion]].concat(
      group.map(d => [d.income, d.count])
    )
  )
)

Here’s another take of the inverse operation, replacing array.map with Array.from, and replacing array.reduce with Object.fromEntries:
Array.from(
  d3.group(data, d => d.religion),
  ([religion, group]) => Object.fromEntries(
    [["religion", religion]].concat(
      group.map(d => [d.income, d.count])
    )
  )
)

@mbostock That's beautiful! Thank you for helping me understand those functions more deeply and for pointing out the link sharing bit. I'll remember it for next time. 👍

@mbostock That's beautiful! Thank you for helping me understand those functions more deeply and for pointing out the link sharing bit. I'll remember it for next time. 👍

Just moved to data visualisation and realised I'm a noop with respect to data manipulation... My conversions from Sqlite based normalised long data  to wide was uhhh... less then optimal (to put it mildly) :-(
Build-in long/wide reshape functions would be very welcome.


Graph should not be returned when computed

This PR:

Adds an else statement in ingestion function avoiding the need to pickle the results of the ingestion function, when the latter is wrapped with as_batch and called as ingest_batch. The error comes from the fact that the results of a UDF are serialized to return. The DAG returned before the change is not serializable though as it contains  _thread.lock object.
The change does NOT break the API - used by customers -  since the graph is getting is still returned when the compute arg is set to False. It will only require for the caller of the ingest_batch function to set compute=True to follow the correct code path.
Fixes the following error:

Unexpected error in the UDF environment:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/tdbudf/batch_udf_main.py", line 359, in main
    ret = real_main()
  File "/opt/conda/lib/python3.9/site-packages/tdbudf/batch_udf_main.py", line 351, in real_main
    _serialize(result, result_format, expand_output, stage_part_id)
  File "/opt/conda/lib/python3.9/site-packages/tdbudf/batch_udf_main.py", line 96, in _serialize
    serialized_tgargs = _serialize_to_tgargs(result, result_format)
  File "/opt/conda/lib/python3.9/site-packages/tdbudf/batch_udf_main.py", line 52, in _serialize_to_tgargs
    cloudpickle.dumps(result, protocol=_PICKLE_PROTOCOL)
  File "/opt/conda/lib/python3.9/site-packages/cloudpickle/cloudpickle_fast.py", line 73, in dumps
    cp.dump(obj)
  File "/opt/conda/lib/python3.9/site-packages/cloudpickle/cloudpickle_fast.py", line 632, in dump
    return Pickler.dump(self, obj)
TypeError: cannot pickle '_thread.lock' object

So guys is there any other comment we need to address?


Server side integration not working on Android

Describe the bug
Using server side integration with the SDK fails.
Similar integration with iOS is working fine.
To Reproduce
I'm creating an orderID on the server side and setting that orderID in the Paypal configuration like so:
      val config = CheckoutConfig(
            application = application,
            clientId = BuildConfig.PCID,
            environment = if (BuildConfig.DEBUG) Environment.SANDBOX else Environment.LIVE,
            returnUrl = BuildConfig.APPLICATION_ID + "://paypalpay",
            currencyCode = CurrencyCode.EUR,
            userAction = UserAction.PAY_NOW,
            paymentButtonIntent = PaymentButtonIntent.CAPTURE,
            settingsConfig = SettingsConfig(BuildConfig.DEBUG, false)
        )
        setConfig(config)
        buttonPayPal?.onEligibilityStatusChanged = { buttonEligibilityStatus ->
            Logger.w(buttonEligibilityStatus.toString())
        }
        buttonPayPal?.setup(CreateOrder { createOrderActions: CreateOrderActions ->
            getPayPayPalOrderIdFromAPI { orderID -> // API Call
                 createOrderActions.set(orderID)
            }
        },
            onApprove = null,
            onShippingChange = null,
            onCancel = OnCancel { payPalCanceled() },
            onError = OnError { error -> payPalError(error) }
        )

On PayPal button click the process is initiated CreateOrder callback is executed, sets the orderID, then jumps to an external browser tab displaying the error in the screenshot bellow.
Returned Error info:
ErrorInfo(error=java.lang.IllegalArgumentException: Return URL is null, reason=Error approving order, correlationIds=CorrelationIds(eligibilityDebugID=aae479d21feda, fundingEligibilityDebugID=null, updateClientConfigDebugID=5622dcfe21edb, lsatUpgradeDebugID=null, fetchPayloadDebugID=aae479db28876, currencyConversionDebugID=null, finishCheckoutDebugID=null), orderId=7bf03c24af35564780d13b00e53e4a46d3c42969, nativeSdkVersion=1.9.9)
Expected behavior
Bottom sheet should open to the user.
Screenshots

Smartphone (please complete the following information):

Android Version: 12 API 31
Device: Emulator
targetSdkVersion: 30
compileSdkVersion 30
minSdkVersion 24
buildToolsVersion "32.0.0"

PayPal SDK Version 0.5.4
Any ideas how to solve this? Or is it on your side?
Thank you.

Ignore. bug on my side.


Allow any expression in localized strings?

Only allowing variables and property accesses in localized strings feels limiting. Would it be possible to support any expression, and instead of using the expression in the extracted string use positional references like hello {0}, as is used in many other gettext implementations?

From the very beginning c-3po behaved so) But, we found those numbers in translations a little bit uninformative and decided to change that behavior - https://github.com/c-3po-org/c-3po/issues/20. But, I think we can implement some kind of configuration that will switch between this 2 modes. @MrOrz @vharitonsky @alxpy What do you think about that?

implement some kind of configuration that will switch between this 2 modes
+1

Thumbs up for supporting expressions.
In our use case we has done a lot of things like:
const updatedAtStr = moment(data.get('updatedAt')).format('lll')
return {t`${updatedAtStr} updated`}

If expressions are supported, it would free us from verbose variable assignments.
However, a downside may be that developers will put complex expressions within ${...} and may increase the opportunity that translators modifies them accidentally. A switch between the 2 modes sounds a great idea, with the current behavior (blocks complex expressions) be the default, and let those who feeling adventurous flip the switch :)

Created 2 separate issues for implementing this setting in the library and the babel-plugin, feel free to review them and leave your comments and suggestions. Also, added those issues to 0.8.0 milestone.

Great, thanks!
I agree the variable name can add useful context. However the problem we're running into is with JSX it often requires pulling out a lots of expressions just for i18n purposes e.x.
return
{jt`Hello ${<strong>{user}</strong>}.`}

becomes
const userElement = {user};
return
{jt`Hello ${userElement}.`}

And that's just a simple case.
On the other hand, nested JSX + i18n tagged strings gets messy quickly so sometimes it's still best to pull out parts of the string into variables.
I wonder if there's a better solution for JSX. I've found that people new to this accidentally move JSX into the string, which results in HTML tags appear in the UI:
return
{jt`Hello <strong>${user}</strong>`}

A magic component that lets us leave most of the JSX the same would be neat:
return
<T msgid="hello_string">Hello {user}.</T>

And it would automatically extract a string like Hello {user}..
return
<T>Hello Mr. {first_name}.</T>

Just extracting Hello Mr. {user}. loses the context to know if the Mr. goes inside or outside the .
Maybe an area for exploration though.

@tlrobinson Thanks for providing more use cases!
I totally agree that current jt implementation will force developers to separate tag translations from the original context. Personally I am using developer comments to denote the context in the extracted constants. For example:
const userElem = {/* t: Hello, ~ */ t`Mr. {firstName}`}
return
{/* t: ~ Mr.X */ jt`Hello ${userElem}`}

A bit verbose and manual, but it somehow worked.
Personally I see jt as a sub-optimal approach to support strings containing JSX elements in a way that introduces no dependencies (and easier to implement, too).
The original discussion also includes @AlexMost 's initial proposal on supporting React translations. rt PR was his attempt in its implementation. Maybe we can continue the discussions here?

@tlrobinson that is a good question)
Here is a list of features that I wish to have in a resulting solution:

Allow to nest jsx elements inside translation.
Possibility to place click and here from Click ${ here} in one translatable msgid.
It should work without transpile step (just with pure c-3po library)
HTML (jsx) tags should not leak to the .po files.
This feature should not force us to include react as a dependency to the original library.

As @MrOrz had mentioned above, there was some experiment with rt tag here and jt appeared much simple and reliable alternative.
But I also agree that we should find a more advanced solution for jsx. What do you think about implementing something similar to this approach - https://blog.sentry.io/2016/01/07/react-i18n.
Short example
In general, solution can look like this:

{tct(t`Already have things setup? [link:Get your DSN].`, {
  link:
})}

Translator will get this in the .po file
msgid: "Already have things setup? [link:Get your DSN]."

And the rest of work will be done by tct helper function in a runtime - Get your DSN will be placed as a children of the link component. This helper function can be placed somewhere in a separate package. Theoretically, this DSL - [link: Get your DSN] can work with any framework (not specific to React).
What do you think?

Another idea came to my mind) What if we can mark different parts of the same string?
The example above will look like this:

{t`mark:Already have things setup?`}{t`mark:Get your DSN.}

msgid: " | Already have things setup? | Get your DSN. | "

But it's only my assumption, need to check that.
we can also use t as a function call instead of adding mark inside the translatable string.

So, with numberedExpression setting we can use any expression inside the translations. That task is done in<EMAIL_ADDRESS>Will add docs and will merge in master soon. But unfortunately, we still haven't decided the best flow with jsx. Looking forward for your suggestions in a separate issue.


ElevationRequest returning only one value

Looking at the below code why is are we taking the first value ?
var elevation = elevResult.Elevations[0];
Also I see that from the documents elevation is an array . My question is why am I only getting one value back ?

//Create an elevation request for the geocoded coordinates.
var elevRequest = new ElevationRequest()
{
Points = new List() {
coordinate
},
BingMapsKey = BING_MAPS_KEY
};
//Process the request by using the ServiceManager.
var elevResponse = await elevRequest.Execute();

if(elevResponse != null &&
	elevResponse.ResourceSets != null &&
	elevResponse.ResourceSets.Length > 0 &&
	elevResponse.ResourceSets[0].Resources != null &&
	elevResponse.ResourceSets[0].Resources.Length > 0)
{
	var elevResult = elevResponse.ResourceSets[0].Resources[0] as BingMapsRESTToolkit.ElevationData;

	//Extract the elvation information.
	var elevation = elevResult.Elevations[0];

	//Do something with the coordinate and elevation information.

} else {
	//Unable to find an elevation for a location. This often happens if the coordinate is over water.
}

That's just showing how to get the first value out. You can loop through it if you want. In the code sample I provided you in the other thread, where you copied this from, the sample geocoded a single location, and used that to get the elevation, thus there would only be one elevation result.


Right drawer

Summary
Implementing initial right drawer, the user info and the status buttons aren't functional but they do accept an onPress prop
Ticket Link
https://mattermost.atlassian.net/browse/RN-557
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Has UI changes

Device Information
This PR was tested on:

iOS 11.1 iPhone X and iPhone 6 emulator
iOS 11.2 iPhone 6
Android 6.0.1 Samsung J5
Android 7.1.1 Nexus 5 Emulator

Screenshots

Also, I'm testing on my Nexus 5 and the right drawer button isn't styled correctly. It's not vertically aligned with the search button, and it has too little clickable horizontal space so I keep clicking on search by mistake

Ok I’ll test this again once I make the changes

@hmhealey @jarredwitt changes made.
@miguelespinoza feel free to review as you need this PR to finish #1178 and #1254

Can one of the admins verify this patch?

@enahum this looks good to me.  I only found 2 things.

In landscape mode. I don't think it's necessary to cover most of the screen space. Possibly a 1/3 of the screen would suffice?

I noticed in earlier versions of this branch the StatusBar would hide if it was open.  Was that solution removed?

Everything looks good. Works well with different themes.  I can work with this once I get back on the PRs dependent of this.

We can do that on a later PR if needed.
Yes it was removed


feat: mongodb protocol

~WIP implementation of the MongoDB wire protocol. The basic implementation of OP_QUERY and OP_REPLY seem to work. We are now just constrained by not being able to parse the BSON documents that are returned.~
After reading through the docs, it seems we only need OP_MSG. The rest are legacy ops that are not anymore needed.

This should be all we need for the protocol layer. Once this is landed we can start on the real driver.


Fatal error - Could not open ROM file pd.ntsc-final.z64

Hello, I have been experiencing an issue when trying to launch the pd.exe where it will will immediately give the error "Could not open ROM file pd.ntsc-final.z64. Ensure that it is in the ./data/ directory."
I first thought I had a bad ROM, so I found multiple other Version 1.1 ROMs from multiple sources but found it would give the same error to each of them. I was able to verify the ROM works with modloader 64 and verified at the startup screen it shows NTSC version 8.7 final. I have tried redownloading the i686-windows, but that didn't change the result.
besides downloading the i686-windows file and having the ROM, are there any other dependencies I would need?
I am running a 2080 TI on a Windows 10 machine. If there is any other information that could help please let me know.
Thanks
Photo of the file path and the downloaded files

Photo of the data folder

Can you run the game with the --log command line parameter?
Also try moving the folder with the game to your desktop or something. It should be able to survive being in C:\ root though.

created a shortcut of the pd.exe and added --log to the target file path, I am not seeing any logs created in any roaming folders, event viewer, or AppData\Local\Temp. Do you know of the default location the log would be put? (I also tried adding -log and trying to create a log with that argument). Moving the folder to the desktop unfortunately didn't solve the issue. Thanks for your assistance on this.

If it's not in the same folder as pd.exe, it would be in %APPDATA%\perfectdark (AppData\Roaming\perfectdark).

Do you have the ROM open in Notepad or some other program? Try closing that before launching the game.

Restarted just to be safe, tried running the pd.exe, gives the same error. Verified no instances of notepad or notepad++ are running.
verified file path is correct and tried renaming the ROM to 1.z64 and adding the --rom-file 1.z64 to the shortcut target path. Same error.

Not sure if this will help, but I copied and pasted the ROM into another Emulator and loaded up the game that way, here is the logs from ModLoader64
[2024-04-25T17:05:18.901] [INFO] Core - ModLoader64
[2024-04-25T17:05:18.903] [INFO] Core - Authors: denoflions,Sylvain
[2024-04-25T17:05:18.903] [INFO] Core - Version: 2.0.30
[2024-04-25T17:05:18.903] [INFO] Core - Github Contributors: SpiceyWolf,Psi-Hate,DemoXinMC,ElTipejoLoco,Drahsid,JerryWester,PapaSmurf-ML64,glankk
[2024-04-25T17:05:18.903] [INFO] Core - Setting running directory: C:\Users\tryin\Downloads\Zelda OOT M\modloader64-gui-1.1.60-ia32-win\modloader64-gui-1.1.60-ia32-win\ModLoader
[2024-04-25T17:05:19.443] [DEBUG] BindingManager - Registered: Mupen64Plus
[2024-04-25T17:05:19.444] [INFO] Core - Loading internal cores...
[2024-04-25T17:05:19.450] [INFO] Core - Auto-wiring core: DummyCore
[2024-04-25T17:05:19.586] [INFO] Core - Auto-wiring core: OcarinaofTime
[2024-04-25T17:05:19.586] [INFO] Core - Loading external cores...
[2024-04-25T17:05:19.685] [DEBUG] BindingManager - Constructing: Mupen64Plus
[2024-04-25T17:05:20.078] [DEBUG] OpenGL - Initial context: 2.1 Unknown Profile
[2024-04-25T17:05:20.078] [DEBUG] OpenGL - Vendor: NVIDIA Corporation
[2024-04-25T17:05:20.078] [DEBUG] OpenGL - Renderer: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2
[2024-04-25T17:05:20.078] [DEBUG] OpenGL - Version: 4.6.0 NVIDIA 551.86
[2024-04-25T17:05:20.078] [DEBUG] OpenGL - Shading language version: 4.60 NVIDIA
[2024-04-25T17:05:20.085] [DEBUG] OpenGL - Rendering context: 3.3 Core Profile
[2024-04-25T17:05:20.102] [INFO] M64p - Using full mem base
[2024-04-25T17:05:20.302] [INFO] Core - Loading rom: C:\Users\tryin\Downloads\Zelda OOT M\modloader64-gui-1.1.60-ia32-win\modloader64-gui-1.1.60-ia32-win\ModLoader\roms\1.z64.z64.
[2024-04-25T17:05:20.443] [INFO] M64p - Goodname: Perfect Dark (U) (V1.1) [!]
[2024-04-25T17:05:20.443] [INFO] M64p - Name: Perfect Dark
[2024-04-25T17:05:20.443] [INFO] M64p - MD5: EEE911DAB73D32FBDFC590C465EA4125
[2024-04-25T17:05:20.443] [INFO] M64p - CRC: 41F2B98F B458B466
[2024-04-25T17:05:20.443] [INFO] M64p - Imagetype: .z64 (native)
[2024-04-25T17:05:20.443] [INFO] M64p - Rom size: 67108864 bytes (or 64 Mb or 512 Megabits)
[2024-04-25T17:05:20.443] [INFO] M64p - Version: 1449
[2024-04-25T17:05:20.443] [INFO] M64p - Manufacturer: Nintendo
[2024-04-25T17:05:20.443] [INFO] M64p - Country: Unknown (0x145)
[2024-04-25T17:05:20.445] [INFO] Core - Parsing rom header...
[2024-04-25T17:05:20.445] [ERROR] Core - Failed to find a compatible core for the selected rom!
[2024-04-25T17:05:20.445] [DEBUG] Core - {
"name": "Perfect Dark \u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"country_code": "E",
"revision": 1,
"id": "NPD"
}
[2024-04-25T17:05:20.445] [INFO] Core - Setting core to DummyCore.
[2024-04-25T17:05:20.446] [INFO] NetworkEngine.Client - Dropping into single player mode due to config.
[2024-04-25T17:05:20.466] [INFO] PluginLoader - Using load order saved from GUI...
[2024-04-25T17:05:20.911] [INFO] NetworkEngine.Server - NetworkEngine.Server set up on port 8082.
[2024-04-25T17:05:20.911] [INFO] NetworkEngine.Client - Starting up NetworkEngine.Client...
[2024-04-25T17:05:20.918] [INFO] NetworkEngine.Server - UDP socket listening <IP_ADDRESS>:8082
[2024-04-25T17:05:20.928] [INFO] NetworkEngine.Server - Client zBuuBWOaOqMPeMmSAAAA connected.
[2024-04-25T17:05:20.933] [INFO] NetworkEngine.Client - Connected.
[2024-04-25T17:05:20.942] [INFO] NetworkEngine.Client - Version good! {"ml":"2.0.30","plugins":{},"core":"DummyCore","discord":""}
[2024-04-25T17:05:20.942] [INFO] NetworkEngine.Client - This server has a 10MB bps patch limit.
[2024-04-25T17:05:20.944] [INFO] NetworkEngine.Server - Creating lobby LSDHome.
[2024-04-25T17:05:20.944] [INFO] NetworkEngine.Client - Joined lobby LSDHome.
[2024-04-25T17:05:20.946] [INFO] Core - Setting up Mupen64Plus...
[2024-04-25T17:05:21.056] [INFO] NetworkEngine.Server - Opened port for UDP server.
[2024-04-25T17:05:21.061] [INFO] NetworkEngine.Server - Opened port for TCP server.
[2024-04-25T17:05:21.075] [INFO] M64p - input plugin did not specify a render callback; there will be no on screen display by the input plugin.
[2024-04-25T17:05:21.075] [INFO] M64p - 1 SDL joysticks were found.
[2024-04-25T17:05:21.075] [INFO] M64p - N64 Controller #1: Using manual config for SDL joystick 0
[2024-04-25T17:05:21.075] [INFO] M64p - N64 Controller #2: Using manual config for SDL joystick 0
[2024-04-25T17:05:21.075] [INFO] M64p - N64 Controller #3: Using manual config with no SDL joystick (keyboard/mouse only)
[2024-04-25T17:05:21.075] [INFO] M64p - N64 Controller #4: Using manual config with no SDL joystick (keyboard/mouse only)
[2024-04-25T17:05:21.075] [INFO] M64p - 4 controller(s) found, 3 plugged in and usable in the emulator
[2024-04-25T17:05:21.075] [WARN] M64p - Couldn't open rumble support for joystick #1
[2024-04-25T17:05:21.075] [WARN] M64p - Couldn't open rumble support for joystick #2
[2024-04-25T17:05:21.075] [WARN] M64p - Couldn't open rumble support for joystick #3
[2024-04-25T17:05:21.075] [WARN] M64p - Couldn't open rumble support for joystick #4
[2024-04-25T17:05:21.075] [INFO] M64p - Mupen64Plus SDL Input Plugin version 2.5.9 initialized.
[2024-04-25T17:05:21.075] [INFO] M64p - RSP Fallback disabled !
[2024-04-25T17:05:21.228] [INFO] M64p - Using video capture backend: dummy
[2024-04-25T17:05:21.238] [INFO] M64p - Game controller 0 (Standard controller) has a Memory pak plugged in
[2024-04-25T17:05:21.238] [INFO] M64p - Game controller 1 (Standard controller) has a Memory pak plugged in
[2024-04-25T17:05:21.238] [INFO] M64p - Game controller 2 (Standard controller) has a Memory pak plugged in
[2024-04-25T17:05:21.238] [INFO] M64p - Game controller 3 (Standard controller) has a Memory pak plugged in
[2024-04-25T17:05:21.239] [INFO] M64p - Using CIC type X105
[2024-04-25T17:05:21.478] [INFO] M64p - Using resampler trivial
[2024-04-25T17:05:21.479] [INFO] M64p - Initializing SDL audio subsystem...
[2024-04-25T17:05:21.529] [INFO] M64p - 1 SDL joysticks were found.
[2024-04-25T17:05:21.529] [INFO] M64p - N64 Controller #1: Using manual config for SDL joystick 0
[2024-04-25T17:05:21.529] [INFO] M64p - N64 Controller #2: Using manual config for SDL joystick 0
[2024-04-25T17:05:21.529] [INFO] M64p - N64 Controller #3: Using manual config with no SDL joystick (keyboard/mouse only)
[2024-04-25T17:05:21.529] [INFO] M64p - N64 Controller #4: Using manual config with no SDL joystick (keyboard/mouse only)
[2024-04-25T17:05:21.529] [INFO] M64p - 4 controller(s) found, 3 plugged in and usable in the emulator
[2024-04-25T17:05:21.529] [WARN] M64p - Couldn't open rumble support for joystick #1
[2024-04-25T17:05:21.529] [WARN] M64p - Couldn't open rumble support for joystick #2
[2024-04-25T17:05:21.529] [WARN] M64p - Couldn't open rumble support for joystick #3
[2024-04-25T17:05:21.529] [WARN] M64p - Couldn't open rumble support for joystick #4
[2024-04-25T17:05:21.530] [INFO] Core - Finishing plugin init...
[2024-04-25T17:05:21.531] [INFO] M64p - Initializing 8 RDRAM modules for a total of 16 MB
[2024-04-25T17:05:21.534] [INFO] M64p - Starting R4300 emulator: Dynamic Recompiler
[2024-04-25T17:05:21.603] [DEBUG] MenubarPlugin - Loading default font.
[2024-04-25T17:05:23.689] [INFO] NetworkEngine.Client - UDP test passed.
[2024-04-25T17:05:23.690] [DEBUG] PluginLoader - Starting injection...
[2024-04-25T17:05:23.690] [DEBUG] PluginLoader - Injection finished.
[2024-04-25T17:05:27.803] [INFO] M64p - Initializing SDL audio subsystem...

.... Found the issue. After renaming the file to 1.z64, saw in modloader64 is has the .z64 twice. Went to the ROM and renamed it to just 1. Verified in properties that it's still at .z64 file. Launched the shortcut to pd.exe. Boots up without issue. Sorry for the confusion here and thanks for your assistance on this.


custom-native-toolchains aren't applied to swiftpm

I'm adding custom-native-toolchains[https://github.com/apple/swift/pull/58540] to make it easier to cross-compile a swift stdlib using an existing swift toolchain. While working on the patch, I got into a kerfuffle with swiftpm, llbuild, and the swift-driver on the selection of the tools to use under the "normal" macOS build flow.
While building swiftpm, the swiftpm build product selects a swiftc using self.native_toolchain_path(host_target).
https://github.com/apple/swift/blob/3ee8034c7a9f215c54e122859e06ce2b4f3ea64b/utils/swift_build_support/swift_build_support/products/swiftpm.py#L46-L50
native_toolchain_path looks for native_swift_tools_path in the arguments, and if it's there, uses that path. Otherwise it falls back on the path of the newly built toolchain.
https://github.com/apple/swift/blob/3ee8034c7a9f215c54e122859e06ce2b4f3ea64b/utils/swift_build_support/swift_build_support/products/product.py#L209-L213
Since swiftpm and the swift driver are host tools built to run on the host, they should be using the toolchain used to build the compiler. In the case of a full Canadian cross compile, the newly built compiler will likely not even run on the host, so using that compiler is entirely out of the question.
Unfortunately, there is a tangle somewhere with llbuild that I haven't been able to quite figure out at the moment.
If we change native_toolchain_path to return the path to where swiftc is located, and better, make swiftpm use the swiftc from the toolchain, we end up crossing the streams somewhere. The llbuild swift module is still being emitted with the newly built compiler instead of the original toolchain compiler. On the macOS builders, this results in an error complaining about using swift 5.5 to read a swift 5.7 swift module file.
This bug is mostly to remind me to come back to this and figure out what is going on.

I'm unclear what building SPM has to do with "cross-compile a swift stdlib using an existing swift toolchain," the two should be unrelated.

Since swiftpm and the swift driver are host tools built to run on the host, they should be using the toolchain used to build the compiler.

That is true for the early swift-driver, but not for the llbuild, SPM, and swift-driver that finally are packaged with the freshly-built toolchain, for two reasons:

That freshly built toolchain is made to be shipped together to another computer, so swift-driver and SPM are linked against the freshly built Swift runtime in usr/lib/swift/linux/libswiftCore.so.
There may be version mismatches between the prebuilt compiler and SPM/swift-driver, which are normally only built by the matching freshly built Swift compiler version or tag.

When cross-compiling SPM for Android, I get around this by passing in a prebuilt Swift compiler with the exact same version and instructing SPM to skip the SPM bootstrap and only build with this prebuilt Swift compiler along with a cross-compilation SPM configuration file for Android that I generated.

Ah, okay. I was unclear on which tools are built with which libraries and which tools. I had assumed based on the name that the native_tools_path should point to the native tools for the builder, not the tools for the host. (It would be safe to point at the freshly built compiler iff the builder and host are the same.)
Is there a document somewhere that describes what parts of the build are built to run on the builder, the host, and the target?

I had assumed based on the name that the native_tools_path should point to the native tools for the builder, not the tools for the host.

I'm not sure what you're referring to as the "builder," as you then refer separately to the target below. The Swift compiler in that path is executed, so it should run on the host building the toolchain.

Is there a document somewhere that describes what parts of the build are built to run on the builder, the host, and the target?

I don't think so, as all this just evolved over time. I'm planning to write up some doc on cross-compiling SDKs or the toolchain, but I wasn't going to include that.

As per Wikipedia/GCC/LLVM/Swift docs on cross-compiling compilers:
Builder:
The system here the package is being configured and compiled.
Host:
The system where the package tools runs (the same as the builder by default, but not necessarily the same so you can't assume they'll work on the builder)
Target:
The system for which the tools in the package compile for and the runtimes/stdlibs are compiled to run on
The package being the collection of tools including the compiler, linker, etc...

OK, in that case you were right when you "assumed based on the name that the native_tools_path should point to the native tools for the builder," but when the host is the same as the builder, it simply uses the freshly-built install toolchain path, unless manually overriden by passing in a different --native-swift-tools-path.
Of course, if you're not using the freshly built toolchain but a prebuilt one, you still have to watch out for version mismatch, depending on if the Swift component you're building is meant to run on the builder or the host.

Okay, I'm willing to close this for now. Given that swiftpm is treated as a runtime target library instead of a host tool, using the just-built compiler is the correct behavior.

It is a host tool, but since its version matches the just-built compiler, it is built with that.
You'll notice the same with swift-driver: an early swift-driver is built with any prebuilt Swift compiler, but the final swift-driver that's installed is built with the freshly-built compiler.


Remove Lombok

Lombok adds complexity to the build process and tooling support. It has become a bad practice adding Lombok to projects, and an impediment to the modernization of Java code to later versions of Java.

// @artursouza @DarqueWarrior

@brunoborges Can you, please, provide some references on the statement that Lombok adds complexity? I have the opposite perception on this since the code is much cleaner. It can be more complex since you need to understand what Lombok is doing but that is true for any library that you bring in to a project.

I am adding a flag to this PR until we decide a path forward for this. Thanks.

Lombok is not just a library. It injects itself into the compiler and uses internal APIs in the JDK that are not normally accessible, and on later versions of Java, are completely inaccessible. Lombok won't work on Java 17.
It also brings complexity as it requires IDEs to have Lombok-specific plugins to be able to understand the source code.
Best reference would be Lombok's source code and its GitHub issues regarding latest versions of Java.

@brunoborges I am inclined to remove Lombok not because of perceived complexity (I see it offset by the simplification in the code), but because as a sample, I don't want other people to have to install more plug-ins to try this. I will keep the PR open to see if we get some community feedback on this.
@halspang @skyao Thoughts on this?

I agree with @artursouza. I don't mind Lombok and find that the removal of boilerplate is helpful. However, given that these are examples we want the barrier to entry to be as minimal as possible. Ideally, this code should just work and allow for new community members/adopters to come in and experiment without additional add-ons or tools required.
So in this case, yes, I am fine with removing Lombok from the examples.

Given that Dapr is a new project still in its early age, we could move this sample code to Java 16, and use Records.

I agreee with @brunoborges:

Lombok brings complexity which is not nessasorry to dapr.
I don't like Lombok because it changes the code: what you see is not what you get.


[BUG] Endpoint Security profiles overwrite settings catalogs

Describe the bug
Some policy types from feature request https://github.com/almenscorner/IntuneCD/issues/32 overwrite settings catalogs with the same name. I have not tested all policy types from the request, but it happens at least with the Windows Defender Antivirus type.
To Reproduce
Create a Windows Defender Antivirus policy and a settings catalog (device configuration profile) with the same name. Once done, run IntuneCD-startbackup.
Expected behavior
A JSON/YAML file for the settings catalog (device configuration profile) and the Windows Defender Antivirus policy with the same name should both be stored in the Settings Catalog directory, suffixed with the type (as done for files stored in the Device Configurations directory).
Run type (please complete the following information):

Mode: 1
Client: local machine
Version: 1.4.9

Thank you for reporting!
I'm currently on vacation but will have a look at this first thing when I'm back

Quick question, how common is it that you have the same configs set in two places with the same name on the configuration?

We name our policies based on the assignment, so we have a lot of different policies that have the same name. For example, we have a general settings catalog All Devices and an Endpoint Security policy (Windows Defender Antivirus) named All Devices.


Add support for helmfile components without using EKS

what
Allow Helmfile component without using EKS.
why
Because atmos could be used without using EKS.

@stoned thank for the update, please resolve the conflicts

@aknysh I  pushed an update in which I also added support for a ATMOS_COMPONENTS_HELMFILE_USE_EKS environment variable.


Tidy up code to set OCP version annotation

This PR https://github.com/redhat-certification/chart-verifier/pull/133 moved the code to get the OCP Version into the chart-testing check and uses the ChartOptions to enable setting of the annotation. Both of these are not ideal. Possible solution:

Make a new check which is to get the OCP Version
Provide a mechanism to enable a check to set a value for an annotation.

This PR https://github.com/redhat-certification/chart-verifier/pull/133 moved the code to get the OCP Version into the chart-testing check and uses the ChartOptions to enable setting of the annotation. Both of these are not ideal. Possible solution:

Make a new check which is to get the OCP Version
Provide a mechanism to enable a check to set a value for an annotation.

I would invert this order, since first we need to understand how do we
(if we need to) propagate collected check data into the report and once
this is defined, the glue should be straight-forward.
Some approaches to be considered:

Modify the CheckFunc definition to include the bag of collected
values as a map[string]string return value.
type CheckFunc func(options *CheckOptions) (Result, map[string]string, error)

Modify the Result definition to include the bag of collected values
as a map[string]string field.
 type Result struct {
         // Ok indicates whether the result was successful or not.
         Ok bool
         // Reason for the result value.  This is a message indicating
         // the reason for the value of Ok became true or false.
         Reason string
         // CollectedValues contains information the check
         // developer decided to propagate to the report as
         // interesting information.
         CollectedValues map[string]string
 }

Modify the CheckFunc to accept, outside of CheckOptions, an
AnnotationHolder value that can be used to contribute values to the
annotation--although I'd rename it to AnnotationBuilder, and swap its
semantics to a builder. This builder could then be used by the Report
Builder when finalizing the process.
type CheckFunc func(
     annSetter AnnotationSetter,
     options *CheckOptions,
) (Result, error)

reportBuilder could then be modified to contain an AnnotationSetter (as
the check might not require all methods of an AnnotationHolder):
    type AnnotationSetter interface {
            SetAnnotation(key, value string)
    }

    type ReportBuilder interface {
            AnnotationSetter
            SetToolVersion(name string) ReportBuilder
            SetChartUri(name string) ReportBuilder
            AddCheck(name string, checkType checks.CheckType, result checks.Result) ReportBuilder
            SetChart(chart *helmchart.Chart) ReportBuilder
            SetCertifiedOpenShiftVersion(version string) ReportBuilder
            Build() (*Report, error)
    }

    func (r *reportBuilder) SetAnnotation(key, value string) {
            r.Report.SetAnnotation(key, value)
    }

The check could then interact with the AnnotationSetter interface
without requiring access to the annotation holder.

Option 3 looks the best to me. Thanks


Retroactively fix manual changes without change_name_to

For alleles that contained the description and were changed manually, but I forgot to use change_name_to, retroactively fix names using the change-Log
After

Create Issue to flag changes of names that included the description -> in red or add warning or something.

Make the list in the repo
Announce to people (soon you can find them)

Hi @kimrutherford. We discussed this before Japan, I think.
Basically I did a bunch of manual fixes in the past. In some of them, I changed the description of the allele, but I should have changed the name as well,as the description was contained in the name. For example in isu1-D37A I fixed the description from D37A to D90A, but forgot to change the name to isu1-D90A. The file below in the usual format can be used to fix 56 of these cases:
Some errors might remain after these fixes, because of the fringe case explained here: https://github.com/pombase/pombase-chado/issues/1095
To make sure we fix those as well, let me know when this fixes are incorporated and I will manually check the logs that report the allele names not starting with the gene name. Then all should be fixed, I think.

@kimrutherford this is the file:
https://github.com/pombase/allele_qc/blob/master/change_log/allele_manual_changes_formatted_where_description_was_in_name_29062023.tsv

Hi @manulera
I've applied those changes.  There was one error:
ignoring duplicate allele_name: prp10-E622D

from this line:
SPAC27F1.09c prp10-E622D     E622D   prp10-E622D

Thanks @kimrutherdord. I don't know where that line came from, but I see in the website that all is fine. Thanks!


documentation needed for requirng python headers

Both easy_install and setup.py install require (e.g.) Python.h, which would typically be in a distribution's python-development package (e.g. python-dev on ubuntu). This would be good to mention in the prerequisites. Thanks!

Irrelevant at this point.


QCA9377 and Connman

Hi Technexion :),
I'm working on the TC-0710 with the new QCA wifi card. I'm using the reference image "core-image-salto"  with one change : i had connman-client in order to have connmanctl.
On the example below i'm trying to connect to an open wi-fi network called PLOPINOU. The TC-0710 is the only device on this access point. And this access point work with other device like phone or TEP-1560-IMX6.
connmanctl> agent on
Agent registered
connmanctl> scan wifi
Scan completed for wifi
connmanctl> services
    TEST1                wifi_001f7b310080_****_managed_ieee8021x
    TEST1                wifi_021f7bb50080_****_managed_ieee8021x
    TEST2                wifi_001f7b310080_****_managed_psk
    TEST2                wifi_021f7bb50080_****_managed_psk
    PLOPINOU             wifi_021f7bb50080_****_managed_none
    PLOPINOU             wifi_001f7b310080_****_managed_none
connmanctl> services wifi_021f7bb50080_****_managed_none
/net/connman/service/wifi_021f7bb50080_****_managed_none
  Type = wifi
  Security = [ none ]
  State = idle
  Strength = 84
  Favorite = False
  Immutable = False
  AutoConnect = False
  Name = PLOPINOU
  Ethernet = [ Method=auto, Interface=p2p0, Address=02:1F:7B:**:**:**, MTU=1500 ]
  IPv4 = [  ]
  IPv4.Configuration = [ Method=dhcp ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=off ]
  Nameservers = [  ]
  Nameservers.Configuration = [  ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [  ]
  Domains.Configuration = [  ]
  Proxy = [  ]
  Proxy.Configuration = [  ]
  Provider = [  ]
connmanctl> connect wifi_021f7bb50080_****_managed_none
connmanctl> services
  a  PLOPINOU             wifi_021f7bb50080_****_managed_none
     PLOPINOU             wifi_001f7b310080_****_managed_none
     TEST1                wifi_001f7b310080_****_managed_ieee8021x
     TEST1                wifi_021f7bb50080_****_managed_ieee8021x
     TEST2                wifi_001f7b310080_****_managed_psk
     TEST2                wifi_021f7bb50080_****_managed_psk
connmanctl>
Error /net/connman/service/wifi_021f7bb50080_****_managed_none: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
connmanctl> services
     PLOPINOU             wifi_021f7bb50080_****_managed_none
     PLOPINOU             wifi_001f7b310080_****_managed_none
     TEST1                wifi_001f7b310080_****_managed_ieee8021x
     TEST1                wifi_021f7bb50080_****_managed_ieee8021x
     TEST2                wifi_001f7b310080_****_managed_psk
     TEST2                wifi_021f7bb50080_****_managed_psk
connmanctl>

When I'm trying to connect to this access point connman return this error  :
Error /net/connman/service/wifi_021f7bb50080_****_managed_none: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Furthermore every network is listed twice.
Finally i can't connect to my access point. But it's working well with iw on the same hardware (no twice wifi network and connection ok) and the same connman is working well too on a TEP-1560-IMX6.
Do you with any idea about the problem ? Can you reproduce this issue on your own hardware ?
Thank you,

Hello,
in the following string:
wifi_001f7b311132_544543484e4558494f4e28354729_managed_psk
The prefix 001f7b is the MAC address specifically for TechNexion WIFI chips.
The second string
wifi_021f7bb51132_544543484e4558494f4e28354729_managed_psk
The prefix 021f7b is the virtual MAC address generated for p2p interface. (Note: This virtual MAC address follows the administered addresses rule to be generated.)
If you don't want p2p to show in hotspot scan:
iw dev p2p0 del


Exception 'yii\base\InvalidParamException' with message 'The file or directory to be published does not exist: ... /vendor/bower/jquery/dist'

I have this error on fresh stable installation of yii2.
My steps:

curl -s http://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer global require fxp/composer-asset-plugin
composer require --prefer-dist yiisoft/yii2

It's clean, all packages stable, but why?
When I do: ln -s bower-asset bower in vendor/; and all works! - Can I do this in prodation?
Why this in clean & stable installation?

You need this configuration in composer.json: https://github.com/yiisoft/yii2-app-basic/blob/master/composer.json#L49-L52


Bullet doesn't gets destroyed even on hitting the target

The bullet even keeps travelling even after hitting the object. How can the bullet be destroyed as soon as it hits the target?

Are you sure they hit the target? Maybe the bullets move too fast. Does that happens also with very slow bullets?
Does the target move? In that case, set the attribute static: false

Be sure that two bullets are not shot exactly at the same time. It can happen if you use "mousedown" event (as suggested in the doc for the click-to-shoot component) alongside mutliple vr controllers (see https://github.com/aframevr/aframe/issues/4496)


operator [O] mariadb-operator (0.24.0)

Add operator mariadb-operator (0.24.0) to community operators

/merge possible

/merge possible


Add an interactive tool to ping a specific node continually for testing.

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
New Monitor, UI Feature
🔖 Feature description
Uptime kuma is great for long-term periodic monitoring of network resources. It's working well for that purpose.
When it alerts me to a failing device, I turn to command-line ping to do a continuous frequent (1s interval) ping test on the failed node. I usually copy/paste the IP address or hostname right from the uptime UI into a shell terminal, to run ping.
It seems a simple addition to uptime kuma to have a button on each monitor page to do a temporary higher-frequency test for as long as needed.  (No, I don't want to change the existing settings, and 20s is way too low frequency for testing a problematic host).
✔ Solution
Provide a button on the individual monitor page, beside the pause/edit/clone/delete options to do "continuous test".
I'd be happy with just "ping," but supporting all of the other monitor types would be a plus.
❓ Alternatives
No response
📝 Additional Context
In case this concept is hard to grasp for some, and the notion of how a command-line ping tool might work could be foreign, let me provide a detailed use-case.
I have more than 100 devices configured in uptime kuma, and on a good day, I don't see any outages. Some days, a given node might become problematic and stop responding. Say that the normal setting is to ping every 5 minutes, with 30 second retries, and report an outage after 4 failures...
Now, if I go unplug and replug a cable, do I want to wait around for 5 minutes to see if that has an effect? No.
Do I want to change up all of the parameters for the monitor, maybe with the minimal 20s ping time, just for the diagnosis and debugging, only to have to change them back once things are back to normal? No, again, and 20s is still too long.
So, presently, I resort to using the command-line ping, which defaults to 1-ping-per-second. Something uptime kuma can't presently do, understandably, since MONITORING is very different than TESTING.

This is a collaborative environment, and misunderstandings happen. Things don't get done if you take a hostile tone to those who are willing to spend time to help and manage issues.
As you say, monitoring is different from testing, and IMO it would be a poor fit to directly integrate this workflow. However, a possible way to improve this is to format the description line in Details such that it can be directly copied as a ping command, saving some time.
Note that there is an existing issue where the Retry Interval is not used for monitors which are DOWN.

@homeautomaton The offense you did take in #4347 was not intended.
You are correct, I am not a network engineer. Actually, I am not even an engineer (just a student).

+1 for this feature. I have around 500 devices monitoring right now and sometimes when I remotely reboot a problematic device I want to be able to ping it continuously to see when it comes back on because there's some parameters I need to update on a device reboot. The workaround I have right now is to just keep pausing and unpausing till it comes back up. Its abit of a hassle even though it does the job but a small ping button would be really nice.