OverflowAction and TimeoutAction not aligning to UI

Hello,
the Overflow Action and TimoutAction have parameters that I cannot line up with what the Admin Center offers.
Could you clarify please?
-OverflowAction:
PARAMVALUE: DisconnectWithBusy | Forward | Voicemail | SharedVoicemail
-TimeoutAction
PARAMVALUE: Disconnect | Forward | Voicemail | SharedVoicemail
UI (same for both):
Disconnect (OA: DisconnectWithBusy / TA: Disconnect)
OR
Person in Organisation (Forward, UPN of UserAccount)
Voice App (Forward, UPN of ResourceAccount)
External PhoneNumber (Forward, TEL URI)
The UI has no option for VoiceMail or SharedVoicemail (only the Auto Attendant has).
Is this intentional (configuration of Voicemail and SharedVoiceMail only via PowerShell) or are UI and PS misaligned?
Thanks,
David

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

ID: 4128d55a-2a26-47be-04e7-6a71eece2143
Version Independent ID: 7d0d9c25-c6f1-4ae3-b4e3-3b6de536ffa3
Content: New-CsCallQueue (skype)
Content Source: skype/skype-ps/skype/New-CsCallQueue.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

@officedocsbot assign @yogkumgit

Hello @DEberhardt David, how are you?
Did some tests in my demo tenant and I do have the Voicemail option:

I configured the Queue using PowerShell, both forwarding to VoiceMail or SharedVoiceMail, the option "Voicemail" in the GUI persisted, so it seems that in the UI, the Voicemail option works for both.
Also tried all options and this is what I conclude:
OverflowAction
DisconnectWithBusy -> Disconnect in the UI
Forward (with OverFlowActionTarget with a guid) -> Redirect this call to Person in organization in the UI
Forward (with OverFlowActionTarget with a resource guid) -> Redirect this call to VoiceApp in the UI
Forward (with OverFlowActionTarget with a Tel: uri) -> Redirect this call to External Phone Number in the UI
Voicemail  (with OverFlowActionTarget with a guid) -> Redirect this call to voicemail in the UI
SharedVoicemail  (with OverFlowActionTarget with a Group Guid) -> Redirect this call to voicemail in the UI
Hope this information helps you,
Andres

Thank you. The Voicemail does now show for me too (in CallQueues).
This wasn't the case when I checked my demo tenant when writing the post though.
I guess, some of the confusion comes up because you have 1 PS parameter for 3 UI options as well as 2 PS parameters for 1 UI option...
It would have been easier to either just call it "Forward" or to call it "ForwardToUser", "ForwardToApp", "ForwardToTel" and "ForwardToVoiceMail" and "ForwardToSharedVoicemail" instead... ;)
The background to this is that I am authoring PS scripts that wrap around this for UPNs as well as an Excel provisioning form for bulk Queue creationg (that spits out full PowerShell scripts).
I have to model the input for the latter with 5 different options, thereby loosing the alignment and look and feel to the UI.

Thank you. The Voicemail does now show for me too (in CallQueues).
This wasn't the case when I checked my demo tenant when writing the post though.
I guess, some of the confusion comes up because you have 1 PS parameter for 3 UI options as well as 2 PS parameters for 1 UI option...
It would have been easier to either just call it "Forward" or to call it "ForwardToUser", "ForwardToApp", "ForwardToTel" and "ForwardToVoiceMail" and "ForwardToSharedVoicemail" instead... ;)
The background to this is that I am authoring PS scripts that wrap around this for UPNs as well as an Excel provisioning form for bulk Queue creationg (that spits out full PowerShell scripts).
I have to model the input for the latter with 5 different options, thereby loosing the alignment and look and feel to the UI.

@DEberhardt David, how are you? Thanks for returning and sharing your last feedback. I can understand your pain when building one liners PS commands using Excel, we can conclude that what we see today is a combination of two parameters and not only one.
Probably you know the resource but you could suggest an improvement in https://microsoftteams.uservoice.com/

Hello,
yeah, I will live with that :)
Just need to add one more element to the Spreadsheet.
Are there any verifications I can do against Voicemail and SharedVoicemail to ensure I am linking the right resource?
Thanks,
David

Are there any verifications I can do against Voicemail and SharedVoicemail to ensure I am linking the right resource?

Can you please detail what would be "right" resource here? Thanks

A Unified Group in this case. Get-UnifiedGroup is what I have found, though I would also need a connection to ExchangeOnline. Is there any other way to verify my target reliably?

A Unified Group in this case. Get-UnifiedGroup is what I have found, though I would also need a connection to ExchangeOnline. Is there any other way to verify my target reliably?

Hello David, that appears to be the current way we have, also, it seems the cmdlet will perform a basic validation

Invalid overflow action target (9543afc5-7940-4946-a382-fc32db6a1765).
+ CategoryInfo          : NotSpecified: (:) [Set-CsCallQueue], OnlineCmdletException
+ FullyQualifiedErrorId : Unspecified,Microsoft.Rtc.Management.Hosted.CallQueue.SetCsCallQueueCmdlet
+ PSComputerName        : admined6.online.lync.com


Fix some translation problems in pt-br and pt

I have make a PR some months ago adding the Scooter category, as it rises popularity, but someone has made a PR changing the translation to something the icon doesn't represent.
It is a Eletric Scooter, as Grin, Yellow, Lime, Bird uses.
Scooter as "Patinete Elétrico":

Not Scooter as a type of motorcycle with less motor power, as the meaning of Lambreta means.
Scooter as "Lambreta":

Please use Transifex:
https://www.transifex.com/traccar/traccar/


Robots parser: deduplicate sitemap links, fixes #261

use a LinkedHashSet to store and unify sitemap URLs

Any comments?  Thanks!

+1 thanks @sebastian-nagel

Rebased and added entry to CHANGES.txt

@jnioche, @Chaiavi - thanks for the reviews!


Convert include paths to array before checks

Fixes #238

The changes look good. I can see it has to be an array. The only change I would do is formatting (align '=' and '=>'), add php doc block for the test and move the test to \Neomerx\Tests\JsonApi\Encoder\EncodeIncludedObjectsTest.

@neomerx updated.

Thanks. Waiting for tests.

I'm closing it because it was actually merged but GitHub does not understand that.

Released in v3.0.5

@neomerx thanks!


app: Shadows and Treehouse scenes load too bright

Shadows and treehouse scenes load way too bright for the first time. Reloading them get them to real one and fixes the issue.
https://user-images.githubusercontent.com/35926530/156425529-326b77fc-78b5-44b5-9425-78eabe843813.mp4

Probably because the render settings are not being reset on cleanup.

https://github.com/webaverse/app/issues/2905#issuecomment-1111053332


Install OPM in GitHub release action

What does this PR do?
Installs OPM during the release GitHub action.
What issues does this PR fix or reference?
The release job now depends on OPM: https://github.com/devfile/devworkspace-operator/actions/runs/1505588209
Is it tested? How?
This commit was pushed to the 0.11.x branch and used in this run of the release job.
PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

/test v8-devworkspace-operator-e2e


Download issues using ERDDAP from MATLAB

ERDDAP API calls work from a browser, but not from MATLAB.
Example:
https://cwcgom.aoml.noaa.gov/erddap/griddap/noaa_aoml_4729_9ee6_ab54.mat?CLASS[(2021-01-01T12:00:00Z):1:(2021-12-31T12:00:00Z)][(-89.975):1:(89.975)][(-179.975):1:(179.975)]
ML seems to be putting different characters into the call. Error from ML:
'https://cwcgom.aoml.noaa.gov/erddap/griddap/noaa_aoml_4729_9ee6_ab54.mat?CLASS[(2021-01-01T12:00:00Z):1:(2021-12-31T12:00:00Z)][(-89.975):1:(89.975)][(-179.975):1:(179.975)]'
timed out after 10.000 seconds. The reason is "Waiting for response header".
Perhaps the server is not responding or weboptions.Timeout needs to be set to
a higher value.

readweb does not work.
readurl does, at least it seems to.
However, readurl is no longer recommended.

Using websave seems to work fine. Saving to .mat files by year. Roughly 1 minute/year. Could perhaps try larger files...


Add mirror method for getPersistenceNamingEncoding

This method will be used for where we need to get Schema info from the persistent name in some plugins.

/pulsarbot run-failure-checks

The pr had no activity for 30 days, mark with Stale label.

Closed as stale. Please rebase and resubmit the patch if it's still relevant.


fix: updated Google/GitHub SSO pages to include steps for Admin Settings UI

Added UI method for providing Client ID and Client Secret for configuring SSO.
Docs pages: Google | Github
Resolves #506

No content was removed, only reordered; I broke step 5 into two possible methods (UI vs Docker.env). Since step 6 was just restarting the instance (which has a different method for either UI or docker.env), I combined it into the step 5 part.


Action convert GraphicalLine to Interaction

There was an action that allows conversion between GraphicalLine and Interaction in PathVisio3.
This was removed at some point. Should this be included in PathVisio4?

Is a plugin


Updated as per request

Implemented drop down menu feature.
please merge it now.

@bhattabhi013  pls merge it now as iwoc idls going to end.


🌱 backport mariadb-image line to release note generator

Backport mariadb-image line to the release note generator, so it is automatically added to release notes.

/test-ubuntu-integration-release-1-3


Make navigation bar in charts example sticky

When scroll to a new section, the active link won't update. However, I think this update provides a better experience for navigating examples.

will update.
thank you for review

I've made some changes:

fix overflow on mobile screen.
update active link on scroll.
scroll active link into view if not visible.

please have a look.
https://github.com/user-attachments/assets/8aec2514-e083-49e8-b651-b263061ba95b


Support for it.each and test.each

Is your feature request related to a problem? Please describe.
Currently this extension doesn't seem to recognize individual test.each test cases. For example:
describe("something", () => {
  test.each([
    { text: "bar", expected: "zoo" },
    { text: "moo", expected: "arf" },
  ])(
    "should properly parse '$expected' from '$text'",
    ({ text, expected }) => {
      expect(foo(text)).toEqual(expected)
    }
  );
});

For this test you will get an option to run/debug the describe block (works) and also the overall test function. If you click run/debug on the overall test function all the individual test cases are skipped. I think this is because the test runner is filtering on the template string: -t some.module.spec should properly parse '\$expected' from '\$text'
Sometimes the test statuses in the sidebar also hang, I believe when they contain a test.each or it.each.
Describe the solution you'd like
Add support for test.each / it.each, bot in the sidebar and in the run/debug breadcrumbs.
Describe alternatives you've considered
Currently I'm debugging these types of tests by commenting out all the other cases and using the debug button on the describe block.

Ah sorry just found #133. This is known.


Motionplanning GPU multi-env ?

Hello, I was trying to use the motion planning examples in order to generate a dataset, but I didn't found a way yet to use it with multiple environment in parallel (with GPU parallelization). Is it something that is planned or already implemented ? It seems that it needs to be done in the PandaArmMotionPlanningSolver in https://github.com/haosulab/ManiSkill/blob/main/mani_skill/examples/motionplanning/panda/motionplanner.py.
I don't know much about mplib but can it be used in a parallel fashion ?
Thank you in advance !

At the moment motion planning code is not GPU parallelized. You can try setting up cuRobo for that.
For motion planning if you want parallelization you will need to use multiprocessing


Ubuntu 20 - Cannot run git command error

I'm getting the following error on Ubuntu:
main.ts:282 Error: spawnSync git ENOENT
    at Object.spawnSync (internal/child_process.js:1067)
    at Object.spawnSync (child_process.js:611)
    at ObsidianGit.isGitInstalled (eval at <anonymous> (app.js:1), <anonymous>:5891:39)
    at ObsidianGit.eval (eval at <anonymous> (app.js:1), <anonymous>:5706:35)
    at step (eval at <anonymous> (app.js:1), <anonymous>:92:23)
    at Object.eval [as next] (eval at <anonymous> (app.js:1), <anonymous>:73:53)
    at eval (eval at <anonymous> (app.js:1), <anonymous>:66:71)
    at new Promise (<anonymous>)
    at __awaiter (eval at <anonymous> (app.js:1), <anonymous>:62:12)
    at ObsidianGit.init (eval at <anonymous> (app.js:1), <anonymous>:5700:16)
ObsidianGit.isGitInstalled @ main.ts:282

I have git version 2.25.1 installed

Have you read the installation tips for Linux? https://github.com/denolehov/obsidian-git#linux-installation

I guess you installed Obsidian via snap, which is not supported, because of the sandbox design of snap.


Modify feature description

I like this description a lot better, its a lot more clear to me what should be in the "feature" category vs "extension". LGTM!

Thanks, unfortunately your approvals don't count towards approval vs rejection since you're not one of the maintainers of the repo. Thanks for the approval and input regardless though!


Renaming .razor file should also rename partial class

One thing I'll need to do regulary is renaming .razor files. My project is structured to use a code-behind file.
For example:
Details.razor
Details.razor.cs

When I rename  Details.razor to AccountDetails.razor both files will be automatically renamed to
AccountDetails.razor
AccountDetails.razor.cs

However, the underlying partial class won't be renamed.
public partial class Details

This isn't great because the main class name is depending on the name of the .razor file. Otherwise you'll end up with a compile error which is quite hard to figure out because the error messages are quite confusing, espeically when they are only shown in the output window on failed compiling.
I would expect the partial class of the code-behind file to be renamed as well.

Summary
The use cases below summarizes a comprehensive set of scenarios tried for applying rename in a solution that contains a razor component. Based on that the current issue is:

Not a regression.
A limitation with how we handle renames for razor components.
The fix does not seem to be trivial.
Would be better to address the underlying limitations before attempting to fix this specific bug

Use case 1: Simply rename component in a razor file

Arrange

Create or open a Blazor Server App.
Add a razor component into another razor document by drag/dropping one of the razor files (e.g. Counter.razor into Index.razor file). That should add a line <Counter\> to Index.razor file.

Act (rename)

Rename the component by right-clicking over <Counter/> on the Index.razor file.

Assert
:white_check_mark: This will successfully rename the Counter.razor filename accordingly.

Use case 2: Rename in a razor file, while there's references to it in other files in/out @{ } block

Problems found:

:x: Renaming on a razor file only renames the component references outside the @{ } block.

:x: The same rename action only renames the component references in the same file. It won't properly rename any component or C# references in the other razor files (regardless of them being opened or unopened files):

Use case 3: Rename the razor file from solution explorer back to Counter.razor
Problem found:

:x: Does not update any razor component references, regardless if in or outside @{ } block.

Use case 4: Rename one of the razor component references from inside a C# context

Problem found:

:white_check_mark: All of the C# references get updated even in other files
:x: But no component references outside of the @{ } get updated
:x: Also, the razor file name itself does not get updated which means this action does not trigger component rename (which explains the squiggly under all the renamed items).

Use case 5: Rename a component that is defined as a partial class (reported in the current issue)
Problems found:

:x: Renaming via solution explorer (similar to use case 3), only renames the file itself, nothing else gets triggered
:x: Renaming a component from outside @{ } context (similar to use case 2), changes nothing.
:x: Renaming a component from inside @{ } context, won't update any file names, and it won't update any component references outside the @{ } code block. The only thing it does it rename all C# references and the user-specified partial class definition will get updated, but nothing razor specific gets triggered.

cc @davidwengier @ryzngard


Merge X-linked spermatogenic failure 1 with Sertoli cell-only syndrome

Closes #7409

@sabrinatoro do you have time to review this PR that we discussed with Ada? If not, I will assign it to another reviewer. Thank you!

@sabrinatoro please review again and kindly let me know if changes are needed. Thank you for all of your help!


fix: process questions requesting unicast responses #50

The appveyor failure #52 is not caused by this PR.


View vs Edit

Opening files for comparison will map empty lines to lines in the other file which have no match, in order to align the texts.
But I found that it will save the file with the empty lines included, if I get the text from the control (i.e. from left or right scintilla control).
Is the control supposed to be used only for viewing differences?
Is there a way to find which lines are virtual, to exclude them during save operation?
Other editors show those lines with gray background and will convert such a line, when edited, into a real line. On save, the gray lines are excluded.

The control is for difference viewing only.


feat: add atom to show the items + value

Feature Request
Describe the Feature Request
Add this  Atom to show the total of items + the value.

We are looking to build the atom below:

Sizes:

The molecule name must be: TokenCardProperties

Properties:

closed by #142


pull request for e2e test at 12/23/2016 19:26:10

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Bug: Accents in Dashboard Search cause issues

It seems that search needs some sort of Enhancement or Bug Fix I don't really know.
So this might not affect the 90% of users of streama but I think it's a big deal for non english languages.
Issue:
When a title from an imported video has accents like ( š ά é ñ  í ü ï ) you have to search using the accent, if not no results show up.
How it should work
When using other searches lets say directly in sql (phpmyadmin) it doesnt matter if you use accents or not the results will come up.
Lets say we search for Jörn it doesnt matter if we search for Jörn or Jorn it will come up as the same.
Possible solutions - Helpfull Links
Search should match accented characters (those with diacritical marks).
I have searched the internet and found a bunch of stuff that might be helpfull.
-- This is called Accent Folding in autocomplete (jQuery).
https://jqueryui.com/autocomplete/#folding
-- Following a very nice article with code about this.
http://alistapart.com/article/accent-folding-for-auto-complete/
-- Here is an actual fiddle on how this should work
http://jsfiddle.net/cps7/3R5B2/7/
-- Finally this is a website you can use (type) and see all accented letters from 25+ languages
https://czech.typeit.org/
P.S. If you have time to look into this It would be really nice for a further Enhancement in search. The idea is simple. Just GET the original title from TMDB API and store it in the database.
So when you either search with your "localized" title or the original one the video will show up in both cases.

Could you give me an example of a name with an accent?

Ok, the main issue is fixed in 1.7.0-RC8. For the addition at the end, please open a separate feature request :)

Any localized movie when using other language from TMDB lets say :
https://www.themoviedb.org/movie/15383-l-arm-e-des-ombres
Original title is L'Armée des ombres (with an accent e)
English title is Army of Shadows
An other example
https://www.themoviedb.org/movie/120-the-lord-of-the-rings-the-fellowship-of-the-ring?language=en-US
English title
The Lord of the Rings: The Fellowship of the Ring
Thats the title in Hungary
A Gyűrűk Ura: A gyűrű szövetsége
If I am using a TMDB other than english that has accented letter it imports if possible the localized title.
If you start searching you have to add every accent for the movie to show up as a result.
By grabbing and storing both original title and localized one then edit the search to match accented letters on both video titl it would not matter how you search the movie it would alway show up.

as i said, already fixed in RC8 :) see https://github.com/streamaserver/streama/releases/tag/v1.7.0-RC8

Sorry was too let on reply I will check the update then I will ask you to Mark as resolved.


Michael qa

What was changed:

setup.py
simulator.py
README

why:

README: updated instructions
simulator.py: path to maps was wrong when launching sim from src directory, changed path from "src/maps" to just "maps"
setup.py: Made setup more robust

All looks good, except the changes to simulator.py. For whatever reason, it needed the src/ for the program to run inside of vs code and for the debugger to be functional. However, it no longer runs from the terminal. I guess we can add that to the end of the README under Known Issues and say that for vs code functionality, you need to add src/
Also, in the README, why does it require the python setup.py install line ? And why do we need to have cd ../src instead of cd src? Is it different for Mac/Linux?

Ah okay are you clicking a play button at the top right of vscode? I'm fairly sure that lauches simulator.py from the source directory (racingai-gym-quickstart), in which case you would need to add in src to the path. I was launching it via the terminal in the src directory. I'll make a change now which adds the users full working directory to before /maps and that should fix it.
The python setup.py install  line is to install the gym enviornment, how did you get it running yourself?
I just added cd ../src since at that stage of the installation the user would be in the gym directory rather than the root directory


fix(api-requestor): bind custom values for max_retry and retry_delay

👋 I found a small issue while sending translations via the api this afternoon
Changes

Bind MAX_RETRY + RETRY_DELAY to the api requestor

My current config:
        return CrowdinClient(
            organization=self.organization, token=self.token, timeout=600, retry_delay=10

Before
INFO:[requester.py] Initiating retry 1 for request post projects/xxx/translations after sleeping 0.1 seconds.

It doesn't use our custom values cf:
retry_delay=0.1 timeout=600 max_retries=5

After
It takes the values we specified cf:
retry_delay=10 timeout=600 max_retries=5

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.19%. Comparing base (87b58a4) to head (09e3f1e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #164   +/-   ##
=======================================
  Coverage   99.19%   99.19%
=======================================
  Files         161      161
  Lines        6008     6008
  Branches      824      824
=======================================
  Hits         5959     5959
- Misses         34       35    +1
+ Partials       15       14    -1

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


Service API

As services are essentially REST compatible it would be good to be able to access them using the normal api. Eg
METHOD /api/service/[name]/api|doc/endpoint
Then we can get under the hood for every service if needed.

This needs to wait for #174 to be done so maybe next milestone... but we'll see...


LANG-1167: Add null filter to ReflectionToStringBuilder

@chtompki
First attempt at this. In order to avoid a large refactor or breaking existing implementations, the boolean has to be a negative (isExcludeNullValues instead of appendNullValues).

Coverage increased (+0.01%) to 94.559% when pulling e423b0bc2dea4167ad98fffc1afd9243ba73aad6 on MarkDacek:LANG-1167 into bf80b9e2803aa277047951a7251267bfb7097c3b on apache:master.

@PascalSchumacher - Do you think we should take this approach, or the approach you went after in LANG-1164.

@chtompki Sorry for the delay, other open source projects and vacations interfered.
As the ToStringStyle implementations are singletons, I do not see a save way to use #209 as a basis for this pull request. Maybe I'm missing something?
I think #209 and this can coexists (as long as the naming is aligned).
@MarkDacek Thanks for creating this pull request. I think it would be great to have this feature in commons-lang. :+1:

hello ,
on V3.8 V3.8.1 V3.9
when i use
ReflectionToStringBuilder.toString(student, ToStringStyle.JSON_STYLE)
return some like
{"id":666,"age":22,"name":"\u4E2D\u56FD","birthday":"Thu Jul 04 13:29:26 CST 2019","book":{"name":null}}
the student name is "中国" but now it is in unicode charset
however
on V3.7 it is ok
see：https://bbs.csdn.net/topics/392557654?page=1#post-404105720


[BUG][TC-DGWIFI-2.1] BeconRxCount attribute value mismatches from specification

Feature Area
Other
Test Case
TC-DGWIFI-2.1
Reproduction steps

Bring  up the DUT with all-cluster-app.
Pair the DUT using chip-tool through "ble-wifi" transport.
Run the command ./chip-tool wifinetworkdiagnostics read beacon-rx-count 1 0

Bug prevalence
Whenever I try to read beacon-rx-count.
GitHub hash of the SDK that was being used
2767b518fe59769720e848a9971f34838770da59 - Master
Platform
raspi
Platform Version(s)
RPI4 8GB RAM
Anything else?
As per spec the BeaconRxCount attribute SHALL indicate the count of the number of received beacons. The total number of expected beacons that could have been received during the interval since association SHOULD match the sum of BeaconRxCount and BeaconLostCount. If the Node does not have an ability to report count of beacons received, this value MAY remain set to zero.
In master commit while trying to read the BeaconRxCount TH reads NULL from DUT.

Attached log for reference: TC-DGWIFI-2-2.txt

Null is a valid value here though. There is an X in the quality column. So if you're getting back null, that's valid, and if the test plans says otherwise, we should fix the test plan.

Null is a valid value here though

Not when the device is actually attached to a wifi network @cecille.

Does it actually say that? The spec says the value MAY remain zero, but there's nothing that says it has to be non-null if you're connected.

The spec says:

For all attributes listed above, a null value SHALL be returned if the interface is not currently configured or operational.

It should probably be clearer about this, but the intent as I recall it was that if not configured you get null, else you get non-null values.  We just had a really hard time getting people to clearly write things out for each attribute....

Oh, interesting. OK, I think I it kind of makes sense then to assume that the opposite also applies, though it might be good to clarify. I suppose the de-facto rule is whatever we implement in the SDK, so if you want 0 returned, we should do that since that's definitely allowed in the spec.

I think 0 would make a lot of sense here, yes.

Issue resolved


mqtt.loop_start() method has issues on Linux Machines

Applications currently have a start_up method that uses paho mqtt's loop_start() function, but for some reason on Linux machines only the background process is terminated after initial connect (i.e. does connect but immediately disconnects). Issue is resolved by using the loop_forever() method instead. Consider adjusting start_up for v2.0 release.

A slightly less hack-y solution I've begun using is rather than have an infinite while loop that must be terminated manually, I use a loop that checks if the simulator Mode is TERMINATED and allows the application to terminate then. This also allows for the applications to execute code after the simulation completes, such as writing data to a file to be post-processed by another application


Refactoring: Extract method munges newline preceding if block

 Environment data

Language Server version: 2021.3.3
OS and version: linux x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: undefined
python.analysis.typeCheckingMode: off

 Expected behaviour
Here's a function I'd like to refactor
def func():
    var = 1
    # THIS NEWLINE GETS MUNGED ->
    if var:
        # if comment
        var = 0

    # more code
    var = 2

Select the block starting at var = 1 and ending at var = 0.  -> Lightbuld -> 'Extract method'
The result should look like
def func():
    new_func()

    # more code
    var = 2

def new_func():
    var = 1
    # THIS NEWLINE GETS MUNGED ->
    if var:
        # if comment
        var = 0

 Actual behaviour
def func():
    new_func()

    # more code
    var = 2

def new_func():
    var = 1
    # THIS NEWLINE GETS MUNGED ->if var:
        # if comment
        var = 0

The formatter seems to be confused by the # if comment
 Logs

Python Language Server Log
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
[FG] parsing: /home/work/vscode-refactor-munge.py (0ms)
[FG] binding: /home/work/vscode-refactor-munge.py (0ms)
Background analysis message: analyze
[BG(14)] analyzing: /home/work/vscode-refactor-munge.py ...
[BG(14)]   parsing: /home/work/vscode-refactor-munge.py (6ms)
[BG(14)]   binding: /home/work/vscode-refactor-munge.py (6ms)
[BG(14)]   checking: /home/work/vscode-refactor-munge.py (36ms)
[BG(14)] analyzing: /home/work/vscode-refactor-munge.py (48ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: getSemanticTokens delta
[BG(14)] getSemanticTokens delta previousResultId:1616758926652 at /home/work/vscode-refactor-munge.py (1ms)
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange

Per request of @jakebailey, here are some additional examples demonstrating the extract method failures taken from #1262:
z = 1  # comment
if z:
    print(z)

After method extraction I get:
def new_func1():
    z = 1
    # commentif z:
        print(z)

Another case:
z = 1
# comment
if z:
    print(z)

Gives:
def new_func1():
    z = 1
    # commentif z:
        print(z)

These are generally similar to those in the original description. This problem seems to apply to any block, including for or try.


Redis as an LRU cache?

Hi. Thanks for creating this library!
Instead of absolute and sliding expiration times, would it be possible to support using Redis as an LRU cache? E.g. auto evict data when the memory fills up?
https://redis.io/topics/lru-cache
Kind regards, Emil

You should configure this capability using the redis.conf file independently. more info.

@VahidN Does that mean that if I only use Cacheable() without any arguments on a query, and if I have not configured anything in Startup.cs, that it will not set an expiration time, and it will be up to the Redis server when it will evicted?

I have no plan to repeat the read-me file of this library for you. Cacheable() without any arguments doesn't mean not setting an expiration time. This is how this library works.


Make ng-deploy-it angular cli workspace compatible

Is your feature request related to a problem? Please describe.
At the moment only NX workspace with angular structure is supported
Describe the solution you'd like
Pure angular CLI workspace should be supported too
Check which provider is affected:
[x] Azure
[x] AWS
[x] Google Cloud Platform

implemented by #29

only angular deployment support for now


Copy-paste Infos["Format_Settings_PS"].empty()

Create help function for consolidation and reduse code size?

This code is definitely a mess.
I was planning to review it completely, but I guess that a small (not taking too much time for you) help function for consolidation would not hurt (I could reuse it during my refactoring)


Android APP does not work because of missing libCHIPController.so

Problem
It seems that there is no description about how to generate the library libCHIPController.so, right?
And the following issue occurs when I try to run the android APP:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.google.chip.chiptool-naCOgNejJLwWRwlIyi4AVA==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.chip.chiptool-naCOgNejJLwWRwlIyi4AVA==/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libCHIPController.so

Could anyone tell me how to build the libCHIPController.so?

hi @KalmanWang  You need to follow the instructions at https://github.com/project-chip/connectedhomeip/blob/master/src/android/CHIPTool/README.md to build libraries required by the Android App.

hi @KalmanWang You need to follow the instructions at https://github.com/project-chip/connectedhomeip/blob/master/src/android/CHIPTool/README.md to build libraries required by the Android App.

Hi @wgtdkp , I have finished all the steps but there is no file named "libCHIPController.so".
It seems the source code should be under ./src/controller/ ? However, I don't find any description about how to build the controller.

hi @KalmanWang You need to follow the instructions at https://github.com/project-chip/connectedhomeip/blob/master/src/android/CHIPTool/README.md to build libraries required by the Android App.

Hi @wgtdkp , I have finished all the steps but there is no file named "libCHIPController.so".
It seems the source code should be under ./src/controller/ ? However, I don't find any description about how to build the controller.

I have ran into this situation once on Linux. Removing the build directory and restart a clean build works for me.

hi @KalmanWang You need to follow the instructions at https://github.com/project-chip/connectedhomeip/blob/master/src/android/CHIPTool/README.md to build libraries required by the Android App.

Hi @wgtdkp , I have finished all the steps but there is no file named "libCHIPController.so".
It seems the source code should be under ./src/controller/ ? However, I don't find any description about how to build the controller.

I have ran into this situation once on Linux. Removing the build directory and restart a clean build works for me.

It seems the source code should be under ./src/controller/ ?

The library should be in the build directory, you should be able to find all libraries with
find ${BUILD_DIR} -name "*.so"

The same for JAR libraries.

Thanks, I will have a try.

@wgtdkp  It works. Thanks very much!


Hyperion + Openelec + Arduino + Raspberry Pi + WS2812b

I'm running 220 LEDs. Have LED PSU powering the LEDs and share ground with the Arduino Uno. Arduini is connected to a powered usb hub connected to the pi. Hyperion starts up what seems fine, however, I keep getting
Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.) ssh in: 	Device blocked for 3000 ms ssh in: 	KODICHECK ERROR: Kodi Connection error (0) ssh in: 	Device unblocked ssh in: 	Opening UART: /dev/ttyUSB0
over an over again, nothing lights up. I have confirmed it all works before trying to get everything to work together.
HELP ME I'm lost. I feel like it's the Arduino, but I'm unsure where to start. Hyperion Log , hyperion config

In case it helps, I have a grabber in the rotation of things, that when I use a command to do a screenshot shows successful, however, then I cant find the screenshot on the pi.

Could you post your config.json file?

Oops. Sorry...missed that link in your original post.

Can you confirm your Arduino is on /dev//ttyUSB0? Check your /dev directory for other tty devices. I’ve got a similar setup (Raspbian with an Arduino Uno and USB frame grabber) so I’ll check my config when I get home for clues.

From what I can tell, it's showing up as tty41
On Sat, Oct 14, 2017, 6:32 PM Scot<EMAIL_ADDRESS>wrote:

Can you confirm your Arduino is on /dev//ttyUSB0? Check your /dev
directory for other tty devices. I’ve got a similar setup (Raspbian with an
Arduino Uno and USB frame grabber) so I’ll check my config when I get home
for clues.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hyperion-project/hyperion/issues/765#issuecomment-336667275,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aeym8xYffgbu7zYUdnyBqKZkpFMtQVUKks5ssSGBgaJpZM4P5gIh
.

Does changing "output" : "/dev/ttyUSB0" to "output" : "/dev/tty41", in your /etc/hyperion.config.json make a difference?
If it helps, my config has this to my Arduino:
"output"     : "/dev/ttyACM0",

/dev/tty41 definitely didn't work. Oddly enough when I tried "output" : "/dev/ttyACM0" im still getting refrences to usb0 https://pastebin.com/N8pHRBbj

Perhaps it's my Arduino sketch?

I can see from the log you last sent that Hyperion is still looking at usb0:
/storage/.config/hyperion.config.json
in:     LEDDEVICE INFO: configuration:
ssh in:     {
ssh in:         "colorOrder" : "rgb",
ssh in:         "delayAfterConnect" : 0,
ssh in:         "name" : "MyHyperionConfig",
ssh in:         "output" : "/dev/ttyUSB0",
ssh in:         "rate" : 500000,
ssh in:         "type" : "adalight"
I doubt it’s the Arduino but you could rule it out by plugging the Arduino into your Mac/PC and running the Adalight Processing sketch available here:
https://learn.adafruit.com/adalight-diy-ambient-tv-lighting/download-and-install
I definatley looks like it is related to having the correct output device in your Hyperion config.
To be sure you have the right port check out this article:
https://playground.arduino.cc/Interfacing/LinuxTTY
Particularly this part:
Find what USB port uses Arduino when you plug it into your computer. It can be something like /ttyUSBx or /ttyACMx (this is my case). To find the answer unplug the Arduino from the USB, run a Terminal (Applications > Accessories > Terminal) and type:
$ cd /dev
$ ls tty*
...
tty8
tty9
ttyS0
ttyS1
...

Plug in the Arduino into the USB and type in the terminal:
$ ls tty*

You will find a new device! My case:
...
tty8
tty9
ttyACM0   <-- New device
ttyS0
ttyS1

I was using different terminal command before, that worked perfect, I have same result showing ttyACM0
as my Arduino. Now to figure out why even when changing the config directly within the  pi from putty, I'm still getting USB0

1 Step forward, 2 Steps back! haha Log

Do the LEDs display the rainbow test pattern?

No. On startup they light up with the default color stated I the Arduino
sketch. After few seconds they shut off, have yet to see them turn on after
initial startup
On Sun, Oct 15, 2017, 8:51 AM Scot<EMAIL_ADDRESS>wrote:

Do the LEDs display the rainbow test pattern?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hyperion-project/hyperion/issues/765#issuecomment-336704845,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aeym8zaMJ-LzFMr4BMLnx-Y-x9pGtoBlks5sseq-gaJpZM4P5gIh
.

Here are a couple more things that may help you troubleshoot your issues:

connect a known working FTDI connector to the Uno’s RX/TX pins (1 & 2) to see if any communication is taking place between the RPi and Arduino.

Change the baud rate to 230400 or 115200 in both your config.json and Arduino sketch. This is can be useful if the issue is being caused by a sub-standard cable or if you are using an inexpensive Uno clone that may have a knockoff UART.

Test your Arduino config on another system to rule it out as the problem. If it works connected to your computer then you know it is not the problem. It’s always good practice to isolate the faulty compentents this way. This will help you focus your troubleshooting efforts and reduce the guesswork.

FTDI connector
Unfamiliar with this, but I'll look for suggested one and order it. In the meantime I'll get the Arduino running on the computer first again, I did once already, but was a different sketch, and was a while back. Also, I will try lowering bitrate as you advised. Appreciate the help, I'll let you know how that goes!

Arduino works fine running different sketch. Before I tried lowering the bitrate however my Raspberry Pi model b failed on me, no longer boots up from an img. So I'm thinking perhaps this was my issue, as I had multiple times it would reboot unexpectedly and times where Hyperion would just stop working in the log, and I would have to reflash an img to get a clear log again.. Waiting for a FTDI connector, but it's from China, so who knows when I will receive it. I will try this again with a model 2 pi I have lying around somewhere, and see if I run into the same issue. Thanks for your help croaker-1! appreciated.


Starting the router does not work if too many team configs are generated

for me it failed for 1024 iirc

Do you know where stuff went wrong? My first thoughts are this could be either because the config generation script generated config files with invalid IP addresses or because the user data included in terraform became too large

closing as duplicate of #45

hcloud has a strict upper length of cloudinit, and before configcleanup we had all generated team configs in cloudinit -> terraform apply failed if you have too many teams because you exceed the limit


Circular imports in tooltip seem to cause an issue with Webpack 5

First, really excited to be using this library. Dropped it in my app and it mostly just works! Here's my problem..
I was originally using webpack 4. Everything seemed to work, except I noticed the floating menu did not appear. Kind of a tangent here: it was a pain to set up because this library uses ES6 modules, so I needed to install babel just to transpile it.
Then, tonight I upgraded to webpack 5 and started getting an error on build. FWIW I've also noticed that I don't need babel anymore. So I'm getting these errors with basically default webpack settings. My webpack knowledge is not very deep, so I was hoping that you might be able to spot what's wrong without a complete example -- but I can try making one if it helps. I based my code off the floating menu example.
So, here are the errors I get. I think it is caused from a circular dependency when files in the tooltip library are importing from ./index.js which is also importing those same files, hence webpack thinks there is no export available:
WARNING in<EMAIL_ADDRESS>33:27-43
export 'createTooltipDOM' (imported as 'createTooltipDOM') was not found in './index' (module has no exports)
<EMAIL_ADDRESS>16:24-72
<EMAIL_ADDRESS>11:44-70
 @ ../ui/dist/components/HtmlEditor.js 30:19-52

and
WARNING in<EMAIL_ADDRESS>132:6-30
export 'tooltipPlacement' (imported as 'tooltipPlacement') was not found in './index' (module has no exports)
<EMAIL_ADDRESS>4:0-52 4:0-52
<EMAIL_ADDRESS>14:13-49
<EMAIL_ADDRESS>11:44-70

I am using bangle.dev 0.3.3 with node 15, npm 7, and webpack 5.

Potential fix here: https://github.com/bangle-io/bangle.dev/pull/152

Fixed now, thanks!


Service worker support for precaching static files with workbox-cli

For a Create React App web application with a service worker, I'd like to be able to precache and route static resources like images in a way that is flexible to changes. These are resources that are not known to webpack, but are in the public folder. I want to achieve this without having to eject.
In my case these static resources should be always available to a Progressive Web App, so a runtime caching strategy is not sufficient. They can't be included with webpack as the filenames are from a json file, so are loaded dynamically.
Describe the solution you'd like
Being able to specify additional static resources so they are added to the workbox manifest as a default feature of Create React App, using the inject manifest functionality of workbox.
Describe alternatives you've considered
I tried this with workbox-cli. I installed workbox-cli with npm install workbox-cli, and created a workbox-config.js file in the project's root directory with:
module.exports = {
        globDirectory: 'public/',
        globPatterns: [
                '**/*.{png,jpg,jpeg}'
        ],
        swSrc: 'build/service-worker.js',
        swDest: 'build/service-worker.js',
        injectionPoint: 'self.__CUSTOM_WB_MANIFEST'
};

Note: this file is based off one generated by npx workbox wizard with some changes.
In my src/service-worker.js, I added the line (just after the other precacheAndRoute) that matches the workbox-config.js:
precacheAndRoute(self.__CUSTOM_WB_MANIFEST);

Note: don't use a injection point name that contains self.__WB_MANIFEST e.g.: self.__WB_MANIFEST_CUSTOM - this will not work as expected!
I changed the build command in package.json to:
    "build": "react-scripts build && workbox injectManifest",

This lets me select static resources like images matching the globPatterns from the globDirectory, and add them to a separate workbox precache manifest that is generated dynamically. This means the revision field for each url is set automatically too, and the list of files is kept up to date when npm run build is run.
I also considered using this method as a one off and writing to src/service-worker.js instead of build/service-worker.js, but I wanted changes to be handled automatically by build scripts.
Additional context
I've seen other solutions using react-app-rewired and craco, but I really wanted a solution that worked with Create React App, so I could continue using a (mostly) supported configuration.
I'm still learning how this works, so there may be a better workaround for this too. I hope that a workaround won't be needed if this is supported by Create React App.

Looking at how this might work, I found:
https://github.com/facebook/create-react-app/blob/382ba21052ffd1321f3e7bb1dcb70d442106dff1/packages/react-scripts/config/webpack.config.js#L729-L741
The documentation for workbox-webpack-plugin.InjectManifest says it supports the config parameter include:
https://developers.google.com/web/tools/workbox/reference-docs/latest/module-workbox-webpack-plugin.InjectManifest#:~:text=include
I think this could perhaps have a RegExp for adding static files from the public folder to the precache manifest?

bump :)


Readd variables for json eval

Thanks! Indeed this was caused by the PR running Vint over the project.


Provide e2e tests for Redis using Azure Cache for Redis

Proposal
Provide e2e tests for Redis using Azure Cache for Redis by re-using the existing test suite against an Azure-based instance.
Use-Case
No response
Anything else?
This is as a follow-up to https://github.com/kedacore/keda/discussions/3306

as I said in the discussion, I'm not sure if we need to cover it with e2e tests TBH, adding a simple test to cover the same scenario as already existing e2e tests without adding anything new IMO only add more code to maintain and more time to execute e2e tests

Agree, having the issue doesn't hurt xD
Maybe you achieve a huge wallet for that subscription and makes sense having that Redis 😄

Does this still make sense?


explain char & numeric literals

- for integers
different types (postfix)
hex-floats

https://dlang.org/spec/lex.html#integerliteral

This issue was moved to dlang-tour/english#29


Fix errors messages formatting

This commit fixes couple of error messages in main
Before:
Error: Error trying to connect to local peer:%!(EXTRA *errors.errorString=grpc: timed out trying to connect)

After:
Error: Error trying to connect to local peer: grpc: timed out trying to connect

Also, I made couple cosmetical changes, like excess spaces in errors messages and replaces fmt.Errorf with errors.New where errors were without formatting.
Signed-off-by: Maksim Zhylinski<EMAIL_ADDRESS>

Signed-off-by: Maksim Zhylinski<EMAIL_ADDRESS>

LGTM. Thanks!


Error: Expected "/*" or ";" but """ found.

While trying to link libraries react-native link I'm getting this error:

react-native-cli: 2.0.1
react-native: 0.42

Hey, thanks for reporting this issue!
It looks like your description is missing some necessary information. Can you please add all the details specified in the template? This is necessary for people to be able to understand and reproduce the issue being reported.
I am going to close this, but feel free to open a new issue with the additional information provided. Thanks!


Update main.tf

The logger library assumes that the env var coralogix_url is capitalized, i.e. CORALOGIX_URL in the env config of the lambda function.
Constants.CORALOGIX_LOG_URL = process.env.CORALOGIX_URL || Constants.PROD_URL;
Hence the env var for the function needs to be CORALOGIX_URL
In case that you add a new module, make sure that you add a test file for that module.
The test file will need to have the basic template to run this module with all of the necessary resource.
In case that you added a new variable to module, and this variable is requierd for the module to run, make sure that you add this variable to the test folder to your module with the right value.

Issue was closed by this PR


User social_ids should be a map<string,string> not Array

User social ids are a map between the social network and their ID on that network.
As such, the field should be changed from array to map<string, string>
Thank you.

From slack:
onur 5:20 PM One more thing, social_platform should be a single string, not a list.
As I undestood this, on this network request I can sent multiple ids, but all for just one platform - therefore this code supports sending multiple ids that came from one platform. As you can see user can enter as many ids from multiple social platforms, but on translation for network requests if those are from different platforms it will cause UNSUPPORTED_INPUT error - TGNetworkManager, line 440.
Also - switching to MAP would drop support for multiple ids for one platform and enable "1 ID for each socialNetwork"

Regarding above - interface for end-developers changed to:
void searchUsersWithSocialUserIds(String socialPlatform,List socialIds, TGRequestCallback output);
Inside library it would stay as it is, as data was meant to contain one social pair - "id and platform" - this won't block us in future extensions and don't harm anything in current code clearance or flow.

Fixed in #5


Ported project to Python 3.x

Also extended the test suite a bit.

Thanks for the pr, I will take a deeper look tonight

Jay, where you should mostly focus your reviewing efforts is as follows:

Append the caching headers: I was getting an error because 'ETag' was None, so I included it in a if statement: https://github.com/jmarrec/walkscore/blob/walkscore_python3/walkscore/api.py#L65. I'm not 100% familiar with what caching headers really mean, so you should review that
I don't know how you can distribute a py2 (yours) versus py3 (mine) version on pypi, so you should likely take a look at setup.py as well. I mean considering how small the code base is, it wouldn't be that hard to make a version that works on both py2 and py3 (handling imports with aliases) but that'll require extra time I don't really have.

Julien - the changes look good, I am going to merge it and hold on cutting a release as I want to make it compatible with Python 2.x.

@jmarrec merged, thanks for your contribution :)


Ubuntu Install Docs

Is there an ETA when the Ubuntu install docs will be put in the wiki?
FIDO looks very interesting I can't wait to try it out!

same here, can c# run on Ubuntu?

I started testing with Ubuntu/Cent late summer last year. It was my intention to use Mono to do so. Other than a few resource files which were not compatible with Mono, it worked well. At first I was going to either switch out resources or write my own. However, I heard rumors that Microsoft was going to open source .Net, and a month later it became official. I've been waiting for the first official release (it is actually a preview release), [which came out last week] (http://techcrunch.com/2015/04/29/microsoft-launches-its-net-distribution-for-linux-and-mac/#.w3nwdj:kigH).
With this the opportunity to port to Linux is much more realistic. Having access to the coreclr is huge for Linux development. I plan on testing a port using the preview release of .Net to Ubuntu later this month. No ETA as of yet, though, as getting an administrative web console to handle all the FIDO configurations is a much higher priority.

Hallo robfry,
i thank you for your answer, with the option to help me, but i am not able to use. Sorry!
Many thanks

Hi,are there and .deb or rpm files available? I would like to get stuck into this technology. :-)


Gameplay plugins cannot be configured to fit into users' games

Bevy version
0.5
Problem description

Many plugins add interesting and valuable gameplay systems.
States are very commonly used  to control whether a game's core systems operate, such as creating a Paused or Loading state.
Systems added in plugins are inserted into the stage and state that the plugin author set, with no way to change this.
System labels cannot be added to systems added via plugins.

The State problem here is side effect of the fact that we cannot add run criteria to systems added in plugins.
Potential solutions
Solution 1: Everything is pub
Rather than trying to solve this directly, the Bevy community forces plugin authors to make all of their systems (and supporting types) pub.
Users then reconstitute the plugins from scratch by adding the systems etc. on their own terms in their own code to get the interoperability they need.
This is bad because it creates cluttered, confusing APIs and exposes details that should be internal carelessly. This then causes every non-trivial plugin crate version to have breaking changes.
It is also very heavy on boilerplate.
Solution 2: Just fork it
As Solution 1, but users fork all plugins (and the engine) and forcibly make the things they need pub / make the changes they need.
Like Solution 1, but shifts the maintenance burden and headaches to the end users.
Very bad for user experience and ecosystem fragmentation.
Solution 3: Post-hoc configurability
Allow users to set the stages / states / run criteria of all systems in a plugin at once.
This doesn't involve any changes to our logic, and patches the most pressing issues.
However, it starts to break down pretty badly if you need to have plugins with systems that cannot coexist in the same stage or state: startup systems and those that must be separated by commands are particularly common and painful here.
Solution 4: Plugins contain only one system set
As solution 3, but each plugin can only have a single system set.
Solves the problems above, but makes their common use more onerous.
Solution 5: App as a structured object
Completely rework how App works by replacing the "mutate the entire AppBuilder" approach with one where the AppBuilder (and App) have carefully structured fields that you can mutate regardless of the visibility of the field.
To solve this particular issue:

All systems belong to a system set, and the app can have any number of system sets.
Each system set must have a label (although it might be automatically generated).
All system sets can be modified using their label after their insertion into the AppBuilder.
Each plugin contains their own app in this way, and their labels are exposed to the larger app that they make up.
The App is not constructed until .run is called, at which point it is constituted in a deterministic order that is independent of insertion order.

Solves #1255, which would be great for clarity and ease of refactoring. This would be a serious endeavor though, and might limit users ability to throw new ad-hoc behavior onto the AppBuilder (not that I've ever seen anyone try?).
This is a sensible compromise on the level of granularity and visibility that plugins expose, grouping their functionality into configurable units.
Conclusions
Solution 1 is the de-facto standard right now for the Bevy engine, as virtually all of our systems are pub. Solution 2 is what will happen if we do nothing (or advanced users instead develop severe NIH syndrome). Both of these are pretty terrible.
Thus, we need a thoughtful approach to configuration. Solutions 3 and 4 are somewhat better than what we have now as they allow more than 0 configurability, but are almost certain to fall short in real use.
I am in favor of Solution 5, but this needs some serious thought. If you want to make an RFC, go for it! Otherwise, I'll probably get around to it after 0.6 launches due to other priorities.
Of course, all of these problems get dramatically worse once we have large games and an editor, and want to examine and manipulate systems visually.

A bit of context about AppBuilder and App
AppBuilder wraps an App.
The App struct contains a World, a Schedule, and a runner function.
Bevy plugins (first or third party), implementing the Plugin trait, expose the build method, that takes &mut app: AppBuilder as a parameter. Therefore, plugins are able to edit any field of the underlying App.
The problem
The property of a plugin to be added with no configurability (at least by default), can have its pros and cons.
The major concern that comes to my mind is relevance of builder method order. This comes from the fact that some methods overlap and end up overwriting previous data or other kinds of stuff. For example, you can have two plugins, A and B, that both add a SystemStage (i.e. a stage) after Bevy's Update stage. Based on order of plugin addition we get different stage order results:
With A then B:
'Update' -> 'B' -> 'A'

With B then A:
'Update' -> 'A' -> 'B'

A possible solution
Solution 5 seems the best decision when compared against the others. It will require the most work, but it will give us the most benefits in the long run.
About system reordering, it's ok to give the user the chance of moving them around, but there should be constraints. I'll explain.
Once, I had to fix an obscure bug on bevy_prototype_lyon (the API consists in you creating a stub object with a description that gets completed later) where meshes for the shapes weren't generated. Then I discovered that moving the mesh-generating system to a new stage after 'Update' solved the problem.
Therefore I think that it's ok to give the user the ability to reorder system sets within a stage, but they should not be able to move them to other stages, since stages are kind of hard boundaries. Also, stage reordering should be limited to only across plugins. If we take the previous example, you shouldn't be able to have a stage configuration like the following:
'A' -> 'Update' -> 'B'

since that would break the 'Update' -> 'A' stage configuration requirement that the A plugin author originally intended. In poor words, configuration is only allowed where plugins don't know each other (A doesn't know B and vice versa).
The solution that I see is one where a Plugin is made of smaller building blocks that the client can (not must) move around (with some well thought limitations) to their needs.

For others who may encounter this before we fix it properly: I hand-rolled a solution for allowing the end user to control which state if any a plugin's system runs.
You can examine it here: it's reasonably nice, but must be added to each plugin ahead of time and adds significant boilerplate.

Just want to add from the other issue (https://github.com/bevyengine/bevy/issues/4362) that I think you should also analyze in what circumstances people what to change the plugin behaviour. In my case I just wanted to disable the plugin under some conditions and something like:
app.add_plugin_with_criterium(PluginA, some_criterium_system)

or inheriting System Set
app.add_plugin(PluginA.with_run_criteria(some_criterium_system))

Would solve the problem.
I'm a new Bevy user and I found it a little bit confusing that plugins and System Sets have different functionalities. In my opinion when someone writes a plugin that is just a single System Set then it shouldn't be in fact a Plugin but a System Set. This makes it possible to use every functionality of a System Set in this case. So a solution in this case would be not to allow creating objects which behave in the same way but are different type. I think it makes me vote for 4th solution. Maybe creating SystemSetPlugin could be an option.

I really like that I can add a plugin and mostly don't have to care how it is implemented inside. Just imagine a plugin which is one system set today, but suddenly needs more complex logic after an update - which means that I have to switch out the system set and make it a plugin again.
I really love the idea of focusing things around APIs. Plugin handling should have a rich, enjoyable API from Bevy's side, so that common things can be done with "standard" Bevy. Just like adding run criteria for a plugin.
However, I would also love to have plugins which expose configuration themselves. It is hard to cover every plugin use case from Bevy's side after all. So, plugins should expose a way to be configured. I am not talking about code, necessarily. Plugins may be forced to implement traits to get some sort of uniformity. What I would expect, though, is a best practice guide on how to create a plugin for Bevy, which covers how to expose a configuration object, how to access custom plugin APIs, etc.
Just imagine someone wrote a 2D RPG plugin, which already implements a lot of common logic for a 2D game - and works like a sandbox if just slapped into Bevy with a single line of code (think RPG Maker sandbox). Game Devs could use that plugin as a base to build their own game, but would need to configure a ton of things and call APIs to interact with the sandbox, which Bevy would never be able to foresee. No game dev wants to care about how the plugin works under the hood, and even after many version updates and internal changes, it should ideally have the same API and usage as before.
To sum it up, I'd propose another solution to the above problem, which would mainly be: Add common QoL API around plugin handling and write a good guide on how to create plugins, which covers passing labels into the plugin, calling functionality of plugins inside systems, exposing components as API, which can be queried by users, etc.

However, I would also love to have plugins which expose configuration themselves. It is hard to cover every plugin use case from Bevy's side after all. So, plugins should expose a way to be configured. I am not talking about code, necessarily. Plugins may be forced to implement traits to get some sort of uniformity. What I would expect, though, is a best practice guide on how to create a plugin for Bevy, which covers how to expose a configuration object, how to access custom plugin APIs, etc.

I really like this idea and bevy providing a trait like ConfigurablePlugin might be best way to allow some uniformity. At the same time if a plugin really wants something different, that's possible even now. Or just the Plugin trait could expose some extra optional methods that take some configuration primitives and applies it during build.

I'd like to split Plugin::build into two methods  to encourage plugin authors not to overconfigure things:
fn build_minimal(&self, app: &mut App);

fn build_default(&self, app: &mut App);

build_minimal is required, and build_default defaults to calling build_minimal. The ideas is that which one is used is controlled based on whether you call App::add_plugin or App::add_minimal_plugin.
This encourages plugin authors (including Bevy itself!) to expose both a "works out of the box" and a "minimal set of constraints required" version of their plugin, greatly improving end-user customizability without breaking our "constraints cannot be removed once added" privacy guarantee.

[8:40 AM]Alice 🌹: @cart expressed skepticism that there's a clean minimal / default split, which is fair (it's been cut as a suggestion from the release notes)
[8:41 AM]Alice 🌹: One of his ideas there was a split between system config, based on whether or not it can be removed
[8:41 AM]Alice 🌹: Which is quite neat!
[8:42 AM]Alice 🌹: I like that it enforces that the "default" setup must be a strict superset of the "minimal" one
[8:43 AM]Alice 🌹: Syntax and discoverability definitely feel like the hardest parts of that idea though.
[8:46 AM]Alice 🌹: You need to be able to:

Declare system config (and maybe other parts of plugins) as optional
Let users and tools quickly determine which parts were optionally added, ideally without having to read the source
Let users refer to specific constraints to wipe them out in a granular fashion that's stable across releases
[8:49 AM]Alice 🌹:
app.reversibly_configure_set(InputSystem::ReadInputs.in_base_set(CoreSet::PreUpdate), InputSystemRule::BaseSets)
[8:50 AM]Alice 🌹: I think that means that you a) have to explicitly configure these rules separately and b) name each rule in some way

Recording my thoughts from Discord here: I think that this is probably a clearer and more powerful approach, if a bit heavier.
I want to keep an eye on user stories here, to try and more exactly figure out the needs of both plugin authors or users.

Tried a few more permutations, this seems to work:
pub struct TestPlugin<S: States + Copy>(pub S);

impl<S: States + Copy> Plugin for TestPlugin<S> {
   fn build(&self, app: &mut App) {
      app
         .add_systems(OnEnter(self.0), start_asset_load)
         .add_systems(Update, check_asset_load.run_if(in_state(self.0)));
   }
}

Very little boilerplate needed!

Yep, this is a great approach for plugin authors to provide these days. It would be nice if there was a standard though, so then users know what to expect.
This is particularly painful for update vs fixed-update for physics and gameplay plugins.

I want to catch errors from Plugin, becouse Plugin can broke my game (I want to implement mods to my game as Plugins. And disable if mod doesn't work)

Personally, I'd be happy if there is a way to define plugins under a state so that the systems added there are only run when the app is in that particular state. My intuition, overall, is that it makes sense to merge the concept of state and plugins. Somehow get rid of the concept of plugins and have everything be a state.

I also thought about this idea and I really liked it. So the only real purpose of Plugins is the registration of multiple systems at once. Even if you would have to open a UdpSocket or something like similar, you could easily move that into a system, where you would have a whole lot more control over when to execute the system ( e.g. PostStartup or Startup). Every advantage of SystemSets, like the order and run criteria, you would want to have in Plugins too. So wouldn't it be possible to drop Plugins completely and implement sorts of predefined SystemSets, where you are able to add run criteria, etc? The only downsides would be, that a lot more functionalities of the app had to be brought into Systems or had to be implemented somewhere else, e.g. the initialization and implementation of States or other logic that happens in the Plugins build- or clean- functions.
I think the build-, ready-, clean-, etc. functions of Pluginss are generally something to reconsider with the idea above. Even though the idea of predefining SystemSets may break initial ideas of Plugins or SystemSets themself, I think it is really promising and provides a lot of customisability but also simplicity, like mentioned by @minecrawler. I hope I am not missing something about the philosophy and the ideas behind Plugins and SystemSets. And could we maybe rename the issue to something like "Missing customisability of plugins", so that it is more clear, what the core problem is about?

Just copy/paste from https://github.com/bevyengine/bevy/issues/14412 for better visibility here:

Background
I've been developing a deterministic lockstep multiplayer game which requires multiple non-standard game loops:

Player input runs on its own semi-fixed update cadence; It can run more or less often based on packet loss (aka time dilation)
Simulation runs on a separate fixed update cadence, with a limited budget per rendered frame to prevent lockups
Render runs as often as possible up to some optional frame cap

What problem does this solve or what need does it fill?
On the one hand, there are tons of amazing plugins to use! On the other hand, Plugin strongly couples systems (what is done) to specific schedule (when it's done) through the build() API. Unfortunately, for anyone using non-standard game loops, this almost immediately makes most plugins useless out of the box.
Take for example something as core as the bevy provided InputPlugin:
impl Plugin for InputPlugin {
    fn build(&self, app: &mut App) {
        app
            // keyboard
            .add_event::<KeyboardInput>()
        ...
    }
}

// app.rs
pub fn add_event<T>(&mut self) -> &mut Self
where
  T: Event,
{
    if !self.world.contains_resource::<Events<T>>() {
        self.init_resource::<Events<T>>().add_systems(
            First,
            bevy_ecs::event::event_update_system::<T>
                .run_if(bevy_ecs::event::event_update_condition::<T>),
        );
    }
    self
}

Here, we see that InputPlugin adds event maintenance to the First schedule, which is part of the render loop. In this case, the coupling extends all the way down into app.rs. If I wanted to reuse this logic for my own input polling loop, I can't use InputPlugin. I can't even use add_event. At best, I must copy/paste large chunks of code from across bevy into my project using my schedules instead. This is less than idea because it's otherwise unnecessary work, but more so because I now have to keep that code in sync with upstream changes and improvements to bevy's. This process then repeats for each useful plugin I would like to leverage.
My personal feeling is the progress being made on FixedUpdate isn't actually all that valuable so far primarily because of this coupling issue. Improvements keep coming, but we can't quite manage to close issues like,  Inputs can be missed (or duplicated) when using a fixed time step. Plugins are tightly coupled specifically to the bevy versions of the Update or FixedUpdate loops, making anything even slightly different immediately very tricky and/or painful.
What solution would you like?
I would love to somehow decouple what plugins do from when they do it. This doesn't inherently require any breaking changes, but I'm not set on a specific solution. Ultimately, those two aspects just need to be exposed in an (ideally easily) consumable way.
One potential solution I've been playing around with is to simply expose system sets for each logical chuck of systems, plus an "init". For example, this the the interface to my copy/pasted version of bevy's InputPlugin:
pub fn init(app: &mut App) -> &mut App {
    app
        .init_resource::<Events<GamepadButtonChangedEvent>>()
        .init_resource::<Events<KeyboardInput>>()
        .init_resource::<Events<MouseButtonInput>>()
        .init_resource::<InputEvents>()
        .init_resource::<Gamepad>()
        .init_resource::<Keyboard>()
        .init_resource::<Mouse>()
}

pub fn register(app: &mut App) -> &mut App {
    app
        .register_type::<InputEvents>()
        .register_type::<Gamepad>()
        .register_type::<Keyboard>()
        .register_type::<Mouse>()
}

pub fn systems_tick_input_collect() -> SystemConfigs {
    (
        sys_collect_gamepad_events,
        sys_collect_keyboard_events,
        sys_collect_mouse_events,
    ).into_configs()
}

pub fn systems_tick_input_gc() -> SystemConfigs {
    (
        sys_clear_input_events,
    ).into_configs()
}

pub trait TickInputExt {
    fn init_tick_input(&mut self) -> &mut Self;
    fn register_tick_input(&mut self) -> &mut Self;
}

impl TickInputExt for App {
    fn init_tick_input(&mut self) -> &mut Self { init(self) }
    fn register_tick_input(&mut self) -> &mut Self { register(self) }
}

Consumers are then free to add the exposed system sets to whatever schedules that meet their needs. One could even theoretically use the same logic on multiple schedules at the same time this way (e.g. local UI input vs deterministic player input). Granted, you would need to work around resources being World global.
// similar behavior to bevy's InputPlugin
app
    .init_tick_input()
    .register_tick_input()
    .add_systems(First, systems_tick_input_collect())
    .add_systems(Last, systems_tick_input_gc());

// or, custom behavior uses the exact same logic
app
    .init_tick_input()
    .register_tick_input()
    // keep collecting input events every time Update schedule runs
    .add_systems(First, systems_tick_input_collect())
    // clean them up if the tick schedule actually ran
    .add_systems(TickLast, systems_tick_input_gc());

Plugin could trivially be implemented on top of this for the same, nice out-of-the-box experience provided today.
Summary
Anyway, like I said, I'm not particularly attached to a specific implementation. I would love to hear other ideas. Mostly, I hope to get people thinking about ways "mechanism" can be decoupled in bevy, because I think it will make bevy all the better.
Thanks for reading, and thanks for working on bevy!

To expand on this a bit, I recently settled on a pattern where each module has a plugin.rs which just exports init, register and some number of system set functions. main.rs then has complete control over scheduling decisions, which makes reasoning about or changing when things run much easier. So far I'm liking it quite a bit more than the current status quo.


Failed commit signature using Github Application

Problem statement:
When using a Github Application to write changes to git, commits are not signed.
Error message:
remote: error: GH006: Protected branch update failed for refs/heads/main. remote: remote: - Commits must have verified signature

According to the documentation:
Signature verification for bots will only work if the request is verified and authenticated as the GitHub App or bot and contains no custom author information, custom committer information, and no custom signature information, such as Commits API.

I tried setting .Values.controller.gitClient.name and .Values.controller.gitClient.email to "" but it did not solve the issue.
After looking at the code, it seems that if those values are empty then Kargo will use default values.
I wonder if removing those default values would solve the issue

no custom author information, custom committer information, and no custom signature information

I am perplexed by this, because unless I am very much mistaken a git commit requires a name and email address.
@hiddeco any insight?

I wonder if removing those default values would solve the issue

If author information is required, as I believe it might be, I'm not sure it would be sensible not to have any default author information.

From what I have gathered, signing commits using a GitHub Application is only possible using the GitHub API. As we make use of git to perform Git operations, this will not work even if we set the author name and email address to an empty string, as Git requires these values to be present:
$ cd $(mktemp -d)
$ git init
Initialized empty Git repository in /private/var/folders/wn/6bc13g_526zdvzvkhnl4fnpr0000gn/T/tmp.pQblIJ9x0I/.git/

$ git config user.name ""
$ git config user.email ""
$ touch README.md
$ git add .
$ git commit -m "This will fail"
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email<EMAIL_ADDRESS>  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <>) not allowed


Subtask 5: Add toggle “Moving Time”in the aggregated stats option under settings

This subtask is for the enhancement #182

Display the "Moving Time" under Aggregated stats in setting options in open tracks
Add the toggle functionality in the Moving Time

Toggle Functionality has been added to the program for moving time.

Added toggle for Moving Speed


[WIP][BEAM-11777] Add support for all kwargs in DataFrame, Series aggregation methods

This includes:

level=: which is essentially an alias for groupby(level=), and we implement it as such
numeric_only=: which allows users to specify how to hande numeric aggregations for non-numeric columns (True=drop, None=try to coerce or drop, False=try to coerce and raise on failure)
bool_only= the same thing for boolean aggregations (all, any) over non-boolean columns.
skipna= drops NaNs before aggregating.
min_count= requires Singleton partitioning.

Making these work required revamping some of the groupby logic:

Overhauled groupby(level=) handling, which was only working in some special cases. We now exercise many more cases via the parameterized test_groupby_level_agg test.
Made DeferredGroupBy.agg work with string arguments.

There are some nasty edge cases around aggregating non-numeric columns:

The default value for numeric_only (None=try to coerce or drop) produces non-deferred column names, because it might drop a column based on it's contents. We should probably make our default numeric_only=True, disallow None, and strongly discourage numeric_only=False.
In pandas you can do strange things like sum a column of strings (or any summable Python objects), which is actually an order-sensitive operation.

For now I log a construction time warning when users do a numeric aggregation on a non-numeric column.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Python PreCommit

Run Python PreCommit

R: @rohdesamuel
CC: @robertwb (this is a pretty substantial change to aggregation methods)

restest this please

Run Python_PVR_Flink PreCommit


How to visualize the learned offsets?

Hi,nice work!
I'm confusing about visualizing the learned offsets as shown in Fig. 6?
Could you give some reference code?

What a nice work! I'm looking forward to the code of visualizations.Thank you!

Can we visualize the learned offsets with the classification task?

Would you mind also telling me how to visualize the Figure 5? Any code snippet?

Hello @sharat29ag @wewan @cbq233333 @zzwei1,
I will release a notebook in next a few weeks in detection codebase to finish this.

Hello @hagianga21,
Ideally, it is feasible to visualize the offsets in classification tasks. However, the images are very small so the visual effects could not be as promising as expected.

Can we visualize the learned offsets with the Semantic Segmanatation task?


Call IPAM cleanup using API enpoints

Moved the IPAM cleanup loop into IPAM launcher as it's really a task for Weave adapter.
Needs: https://github.com/kontena/kontena-docker-ipam-plugin/pull/61
As soon as we have IPAM release with the cleanup endpoint we should also pin the version and not to use latest.

Should we include this to 0.17?

I think this should be part of 0.17, otherwise there's nothing that would cleanup stale address reservations.


Find confusion

First of all, kudos for making hunter. Such a great idea.
I'm trying to figure out how to add a new package to hunter, and have some issues with project interdependencies. I created a cmake/projects/my_package/hunter.cmake, and in general everything works great, but I am not entirely sure what is going on with the find modules. When I link my_package using the recommended method:
hunter_add_package(my_package)

find_package(my_package CONFIG REQUIRED)

target_link_libraries(my_exec my_package)

everything works great, and the library that is linked in is:
.../HUNTER_TEST/hunter/_Base/xxxxxxx/e983464/1280480/Install/lib/libmy_packaged.a
However, the results of find_package are confusing, as the variables set to:
my_package_LIBRARIES=my_package
my_package_TARGET=my_package_static

So, if some other package (B) I rely on tries to link this library using ${my_package_LIBRARIES}, they do not reference the install directory .../HUNTER_TEST/hunter/_Base/xxxxxxx/e983464/1280480/Install/lib/, and there is a linker error.
What is a good way to fix that? I know that one way is to change B to use the Hunter way, but is that really necessary?
Also, I am not entirely sure why "_static" is appended to the TARGET (this seems to be happening in HUNTER_TEST/hunter/_Base/xxxxxxx/e983464/1280480/Install/lib/cmake/gflags/gflags-config.cmake).  There is no actual library created with "_static" appended to its name. Where is this config file generated, and how can I control its behavior?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/33352194-find-confusion?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github).

I'm not sure I understand the problem.

link this library using ${my_package_LIBRARIES}

So effectively it will link imported target my_package, right? So it should not reference to full path install directory.

What is a good way to fix that? I know that one way is to change B to use the Hunter way, but is that really necessary?

What is alternative? If you want to use my_package you have to download it and find:
# This is package B
hunter_add_package(my_package)
find_package(my_package CONFIG REQUIRED)
target_link_libraries(b-library PUBLIC my_package)

Also, I am not entirely sure why "_static" is appended to the TARGET (this seems to be happening in HUNTER_TEST/hunter/_Base/xxxxxxx/e983464/1280480/Install/lib/cmake/gflags/gflags-config.cmake)

This is gflags specific, as far as I know this is not a part of autogenerated configs.

Where is this config file generated, and how can I control its behavior?

You may find this useful:

http://stackoverflow.com/questions/20746936/cmake-of-what-use-is-find-package-if-you-need-to-specify-cmake-module-path-an/20857070#20857070
https://github.com/forexample/package-example

Hope this helps.

Thanks for the quick reply.
To clarify, this is what I am doing:
hunter_add_package(gflags)  # Only in my version of hunter
find_package(gflags CONFIG REQUIRED)

hunter_add_package(glog)  # Already in hunter
find_package(glog CONFIG REQUIRED)

target_link_libraries(my_main glog gflags)

This is what happens:
[ 50%] Linking CXX executable my_main
cd <ROOT_DIR> && /usr/local/Cellar/cmake/3.5.0/bin/cmake -E cmake_link_script CMakeFiles/my_main.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -std=c++11 -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/my_main.dir/my_main.cpp.o  -o my_main  <SOME_DIR>/HUNTER_TEST/hunter/_Base/xxxxxxx/e983464/1280480/Install/lib/libglogd.a <SOME_DIR>/HUNTER_TEST/hunter/_Base/xxxxxxx/e983464/1280480/Install/lib/libgflagsd.a -lgflags-static
ld: library not found for -lgflags-static

The -lgflags-static is only appended when I link to glog (gflags is a dependency). I am confused why this happens and how to fix this without patching the glog CMakeLists.txt. It would seem it should be able to find the gflags lib installed by hunter automatically.

The -lgflags-static is only appended when I link to glog (gflags is a dependency)

Something wrong with gflags package. Target imported by find_package(... CONFIG) works wrongly.

Closing, let me know if you have any further questions.


#646 - Allow required BooleanField instances to have a value of False

The previous logic in InputRequired.call was only testing to see if
field.raw_data was "truthy", but False is a valid value for a BoolenField.
This change tests BooleanField and non-BooleanField instances differently,
and will require a required BooleanField to have a value of True or False.

Related (again) to #402. We should find a whole policy for wtforms, not just a specific fix for BooleanField.


EML example link target in how-to-write-resource-metadata no longer exists

This one: http://ipt.biodiversity.aq/eml.do?r=ictar_ivscs&v=1

Thanks for reporting this issue @mjy This has now been fixed in https://github.com/gbif/ipt/wiki/resourceMetadata#exemplar-datasets


Trying to get the example to work.

Hi, @frandiox, it's me again!
I'm doing my best to figure this out, and please pardon my complete ignorance in this area.  I'm very grateful for your work and plan on joining the cause as soon as I can come to a full comprehension.  I'm really excited to show feathers-vuex users how to use it for a stellar setup with FeathersJS.  Since you said you are open to suggestions and support with the experience of getting up and running, I have a couple of thoughts.  One would be to move the vitedge vue example into a its own github repo so it can be one-click cloned to create a new project.  That would make it just one click to start a new, working project.  For clarity, here's a screenshot of the Vitesse repo that shows the "Use this template" button:

Having a template repo would make it easier to get up and running after breaking changes.
I attempted to create this repo myself by cloning the vitedge project and moving the vue example to the top level.  Please check my repo, here: https://github.com/marshallswain/vitedge.
My goal is to make it possible to clone and just be able to run npm run dev and have it just work.  In this case, I did update the packages to the latest patch release, which maybe is causing the problem that I'm running into.  This is the error message I'm getting:

It's not clear to me why this is occurring.  Any support in getting the example to run would be especially appreciated.  Thank you!

@marshallswain There's nothing to pardon! And thanks a lot for your interest 🙏 This project is still under development so it is completely normal to have issues 😅
The examples in this repo are meant mostly for my own testing. I had the intention of creating a vitessedge template, and in fact I have a local version of it but very outdated. I'll try to make some time to update and publish it as soon as possible.
For your example, since you want Feather JS but Vitedge already provides a way to create APIs, perhaps it would be better to use vite-ssr instead? That one is the core of Vitedge, minus the API part and the CF Worker workarounds.
In any case, I'll check your repo later today when I have some more time 👍

Thanks for the recommendation.  I actually just got it up and running.  I’m actually still very much interested in using Vitedge to publish to Cloudflare.  I’ll be demonstrating how to use Vitedge/CF Workers as a caching proxy to FeathersJS, while still receiving the realtime updates over WebSocket.  Eventually, I see this all migrating to CF Durable Objects instead of proxying another server (once it’s out of beta).
I really like how easy you’ve made the handoff from SSR server to client by just adding it to the initialState object.  That seems perfectly flexible.
Thanks for checking out the repo.

@marshallswain Ah I see, I just downloaded your repo and it worked with yarn && yarn dev so I guess you fixed the problem.

I’ll be demonstrating how to use Vitedge/CF Workers as a caching proxy to FeathersJS, while still receiving the realtime updates over WebSocket

That's interesting. So you are going to deploy your API somewhere else? I guess I don't know much about FeatherJS 😅
One limitation of CF workers is that they cannot make requests to themselves. But if your API lives in a different platform then it shouldn't be a problem.
I guess you would be making requests to your API from Vitedge's page props handlers? Or directly from the Vue components using serverPrefetch?

@frandiox I'll try with yarn, today.  I was using npm for my test.  I also noticed a similar problem with vue-ssr.  When I tried using pnpm, I ran into errors.  When I used yarn it worked perfectly.

That's interesting. So you are going to deploy your API somewhere else? I guess I don't know much about FeatherJS 😅

Yes, I'll deploy the API server to Azure App Platform.  FeathersJS is very unique in how it thinks about making APIs.  It has a   "Service"  class that works as a common interface to communicate over rest or as a GraphQL gateway much like Express.  Each "service" is basically a gateway to a database table or another API.  So I'll be creating a local API file in Vitedge that proxies to the API server on Azure.  So publishing to the edge is mostly about cache.  FeathersJS is also the only framework of which I'm aware that puts WebSocket communication as a first-class citizen (as opposed to being bolted on top of plain HTTP requests).
So I'm going to show how to keep the advantages of the real-time socket connections directly from the server while using the workers on the edge servers for the cache.  feathers-vuex is a utility I made for Vue that enables live lists and queries with a fall-through cache on a local database, which was based on my experience in the early years of Meteor.  I'm super stoked about the performance between the Edge Side Rendering and the Edge-based APIs.

One limitation of CF workers is that they cannot make requests to themselves.

Ooh.  This is something I did not know.  That's an interesting limitation that may result in always requiring the separate API server.  It will be interesting to see how things evolve once Durable Objects are complete.
Thanks again!  I'll try again with Yarn and let you know how it goes.

I only had my M1 MacBook Pro, today, so I was unable to test this.  I guess that brings up the point that this doesn't work on Apple Silicon machines.  I don't think it's something within your control, though.  I can open a separate issue, if you'd like.  Anyway, I will test this on my Intel machine, tomorrow then get it closed or discuss further.  Thanks!

I'll try with yarn, today. I was using npm for my test. I also noticed a similar problem with vue-ssr. When I tried using pnpm, I ran into errors. When I used yarn it worked perfectly.

Hmmm... weird, all of them seem to work for me. In fact, I just released this template for vite-ssr using pnpm (my first time) and seems to be working: https://vitesse-ssr.vercel.app/

So I'm going to show how to keep the advantages of the real-time socket connections directly from the server while using the workers on the edge servers for the cache. feathers-vuex is a utility I made for Vue that enables live lists and queries with a fall-through cache on a local database, which was based on my experience in the early years of Meteor. I'm super stoked about the performance between the Edge Side Rendering and the Edge-based APIs.

Sounds great. It would be interesting to have an example of all of that since I might need it myself (especially websockets) at some point for a side project :)

this doesn't work on Apple Silicon machines

I think the only binary that this uses is ESBuild (Vite uses it internally) and it recently released a M1 binary but might not be publicly available yet. You might need Rosetta I guess 🤔  Other than that I've no idea what else can be breaking.
If the thing keeps failing, you can try to run it locally without SSR (remove the --ssr flag from the CLI) so at least you can get started with an SPA. Maybe test also the build command and see if that works for you. The SSR local dev is the hairiest feature, I've found some inexplicable crashes randomly that I think come from Vite core itself but it's quite hard to make a minimal reproduction...

@marshallswain I'm making a template using Vitesse and I just found a problem with pnpm related to ts-node. It works well with yarn and npm. What was the error you found related to ts-node (Expected string to be returned for the "format" from the "loader getFormat" function but got type object)?

@marshallswain I just published the templated I mentioned: https://github.com/frandiox/vitessedge-template

@marshallswain I'm closing this for now, feel free to comment or reopen if you get some free time again to test FeatherJS in CF.


i18n(it): Updates guides/sidebar.mdx

Description
Updates guides/sidebar.mdx

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

it
guides/sidebar.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Remove text in record pagination buttons

Low width viewport squishes the current page number, leaving the somewhat large, extraneous next and prev button texts unaffected.
To-Do:

In view-records

change "< Prev Page" to "<"
change "Next Page >" to ">"


Cannot install Clarkson

Hello,
I've tried installing Clarkson but failed.
I tried the instructions step by step. OS: Ubuntu Server 22.04.3 LTS
Installing NodeJS with the command from the following website:
https://deb.nodesource.com
Installing NPM via apt (sudo apt install npm)
Then running the commands from "Get the dependencies" https://github.com/linuxserver/Clarkson
It always throws errors. I don't know where I have to clone the Git repository to etc.
Is there a full guide available?
I am pretty much a noob at Linux, know some basic stuff.
Greetings from Germany
Max

Read the top paragraph of the readme.

Thank you very much.
I set up Hammond now ;-)


HTML tag error in Modelica.Mechanics.MultiBody.Joints

Reported by anonymous on 4 Jan 2012 09:58 UTC
MSL 3.x
The HTML documentation annotation of
Modelica.Mechanics.MultiBody.Joints.UniversalSpherical
Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUPS
Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUSR
Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUSP

has invalid  tags where  is actually expected.

Migrated-From: https://trac.modelica.org/Modelica/ticket/674

Comment by dietmarw on 25 Jul 2012 16:41 UTC
This has already been fixed in connection with a series of HTML fixes (no dedicated ticket on that) for version 3.2.1

Comment by anonymous on 5 Oct 2012 10:59 UTC
This is not fixed for e.g.
Modelica.Blocks.Sources.CombiTimeTable
Modelica.Blocks.Sources.TimeTable

Comment by dietmarw on 5 Oct 2012 12:39 UTC
Thanks. FIXED in e5a4482694ef41896f7821a213a0ee2e75ca88b3

Changelog removed by dietmarw on 5 Oct 2012 12:39 UTC

Modified by beutlich on 21 Dec 2016 20:05 UTC


"peek" callback should use (err, data) style

(This applies also to my work on miasma, where I'm trying to provide an interface semi-compatible with this package.)
An "idiomatic" "error-first" Node.js callback looks like this:
function(err, data, moreData, ...) {}

If an error occurred while preparing data for the callback, the err argument is set and no further arguments are passed. The node core modules tend to use this interface for callbacks, as do many of the most popular packages on npm.
The callback passed to this package's peek function looks like:
function(data) {}

If an error occurs while preparing data (here, the JS version of a protein), the data argument is set to null. There's no indication of what kind of error occurred.
I think we should switch to the more "idiomatic" style of callback. Thoughts?

An alternative to fixing this would be to replace plasma-js-bridge with a better, more flexible lib.  @BrennanRoberts @ebeneliason @orourkek what is your appetite for switching onto something more robust (not based on YAML parsing, better perf, etc.)

better perf

That remains to be seen :-)


Add Omnik Solar Inverter integration

Request for adding the Omnik Solar Inverter integration to HACS.

Disregard from this commend, I'm testing something
✔ Exists.
✔ Has a readme file
✔ Submitter is owner
✔ Not a fork

Hi, @ludeeus 👋
An automatic task is now running some initial checks before this can be merged.
When those are done, someone will manually ensure that that it's OK. 💃
While you wait, you can have a look at this cute kitten 😺

Repository checks
These checks are automatic.
Checks for heinoldenhuis/home_assistant_omnik_solar
Repository link

Status
Check

✔
Repository exists

❌
Submitter is owner

✔
Not a fork

One (or more) automatic check(s) faile.

Hi, @heinoldenhuis 👋
An automatic task is now running some initial checks before this can be merged.
When those are done, someone will manually ensure that that it's OK. 💃
While you wait, you can have a look at this cute kitten 😺

Hi, @heinoldenhuis 👋
An automatic task is now running some initial checks before this can be merged.
When those are done, someone will manually ensure that that it's OK. 💃
While you wait, you can have a look at this cute kitten 😺


Autocompletion of tags in event names

Would it be possible to have the input space for an event name have some of the same features as the editor in Obsidian? For example, autocompleting / suggesting tags and links in the event title input box. A larger space for input would also be welcome : )
Please let me know if there's anything I can do to help with development. This plugin has changed the way I work with Obsidian and I'd like to assist how I can.

Improvements to the editor modal is one of the things I'm really considering after my current refactor. I certainly appreciate the desire to help! If you're familiar with react and frontend development, working on #249 would be extremely helpful 😃

Hi there! I think I overcommitted when I offered to help with the plugin development as work is busy and I can't say I've ever worked in frontend development. So just letting you know I won't be able to contribute, and I thank you for your amazing work on the plugin : )


Improvement: Visualization isn't Colorblind friendly

Visulization concerns have been moved to https://github.com/pashneal/stourney_platform