shell not starting randomly

Hi,
When adding reattach-to-user-namespace i do get the following behavior under 10.7:
shell does not always start : http://cl.ly/211P0M3n2u0x2A1c0d2y
I started tmux in verbose mode (tmux -v) :
https://gist.github.com/1370201
thanks for helping

The screen shot shows that the window name is zsh. By default, tmux will (try to) automatically rename the window based on the active process of the window’s active pane (i.e. unless you have turned off the automatic-rename window option). So, unless you explicitly gave the window the name zsh1, then an instance of zsh was probably started, it apparently just did not “finish” (i.e. print its prompt and start accepting commands).
Since the shell looks like it has at least started, I would start investigating by tracing its startup sequence. For zsh the earliest user-writable startup file is .zshenv. If you (temporarily!2) put set -x at the top of your .zshenv, then you should see trace lines printed for each command the shell executes during its initialization. The last command printed before it “hangs” is the next place to investigate.
One possibility is that it may not be hanging at all, but you may (for some reason) have an empty prompt (i.e. a buggy startup sequence that sometimes unsets/empties PROMPT/PS1); the shell may actually be waiting for input. You might just try typing a command (e.g. echo hello) at the blank screen to see if it the shell reads and executes it; if it does, then you should examine your startup files to find out why the prompt is sometime being blanked out.
Note: If you are using tmux’s default-command to run your shell “through” reattach-to-user-namespace, you will not see the wrapper program in the trace output because it has already finished its work by the time the shell starts.
1 Windows can be given an initial name via new-session -n winname or new-window -n winname. They can be manually renamed with rename-window. All of these methods turn off the automatic-rename option of the pertinent window.
2 Setting the trace option in a startup file needs to be temporary because (besides producing an annoying amount of output with each instance of zsh) it can break some programs that do not expect to see such output (i.e. zsh-based scripts and programs (rsync, git, etc.) that make automated remote logins).


Added assets, routes. Updated home page to add sponsorship info

@all-contributors add @StarkDroid for review


Fix parallel feature: disable parallel automatically/ add command line option

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions.

Description of the Change
This PR comes from the idea #4322
AS-IS
[single run]

[parallel run]

(1) fix parallel feature : When running a single file, disable parallel mode automatically.
If we run only a single file in parallel mode, it is much slower.
So I added a feature to automate swap from parallel mode to single mode when we're running a single file.
(2) Added Command Line Option: added an option to FORCE PARALLEL MODE in (1) situation
Alternate Designs
Why should this be in core?
Benefits
When running a single file, Mocha automatically run in a faster way.
Possible Drawbacks
There must be a way to force parallel mode when running a single file if needed.
Applicable issues

I'm working on failed test cases!

I am still working on test cases and PRs.

I am unsure if this would be a breaking change.  Ideally, it would not have any impact on consumers, but... you never know.
@mochajs/core thoughts?

Please mark this PR as "ready" when the tests are passing

Please mark this PR as "ready" when the tests are passing
Thank you for your opinion!

I also don't think many customers would run a single file in parallel option.
And that's the point where I thought to predict running time and automatize running mode.
For example we can test on many different files and how much time it needs to run -> if we have our standard we can automize running mode.
This is just my opinion!
And I will do mark PR when test passed.

@stoicchild8910

I also don't think many customers would run a single file in parallel option.

right, consumers may not, but Mocha needs to do so in order to efficiently test parallel mode.  so this is why I'd want --force-parallel

👋 coming back to this @stoicchild8910, are you still interested in working on this PR? As of https://github.com/mochajs/mocha/issues/5027 there are again maintainers who can review it now. No worries if you no longer have time - but if you do that'd be great!


[Bug]: why WithPartialCompilationAndDisabledBaselineProfile is the best result in StartupBenchmark

Is there an existing issue for this?

[X] I have searched the existing issues

Is there a StackOverflow question about this issue?

[X] I have searched StackOverflow

What happened?
In startupbenchmark file, we have four ways to test the startup performance

WithoutPreCompilation
PrecompiledWithBaselineProfile
WithPartialCompilationAndDisabledBaselineProfile
FullyPrecompiled

Then I run and found out that 3 is the best way for performance.
Why it happen. It did not use baseline profile at all. Is there anything wrong?
Relevant logcat output
StartupBenchmark_startupWithoutPreCompilation timeToInitialDisplayMs   min 1,279.5,   median 1,312.9,   max 1,459.9 Traces: Iteration 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
StartupBenchmark_startupPrecompiledWithBaselineProfile
timeToInitialDisplayMs   min       862.2,   median       889.2,   max 1,103,080.4 improve 34%
Traces: Iteration 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
StartupBenchmark_startupWithPartialCompilationAndDisabledBaselineProfile
timeToInitialDisplayMs   min 735.0,   median 757.1,   max 786.2 improve 42%
Traces: Iteration 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
StartupBenchmark_startupFullyPrecompiled
timeToInitialDisplayMs   min   855.4,   median   886.7,   max 1,074.9 improve 32%
Traces: Iteration 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Code of Conduct

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

I think this should be in Discussions.

Thanks, new a new discussion here https://github.com/android/nowinandroid/discussions/1348
Let me close this issue.


Real-time Metrics

CHANGES:
Metric Store:

Support for caching latest network metrics in Redis DB
Method to enable/disable peridic snapshots of cached network metrics for storing to Influx DB
Enabled bulk write to influxDB
Updated unit tests

Metrics Engine:

REST API updates:

Support for UL/DL throughput & packet loss
Shared data model for subscriptions & notifications
Updated descriptions & examples

Adapted microservice to API changes
Added code to start/stop snapshot thread when a scenario is activated/terminated

TESTING:

Unit tests PASS
Cypress tests PASS

I will remove the unused JS package until it is required.


placeholder storage tmp

placeholder storage tmp
failing test for new func
implement the store
failing test for new func
implement it
failing test for new func
implement it
failing test for new func
implement it
failing test for new func
implement it
change the errror
forgot to close file
change thje func signature
failing test for new func
Revert "change thje func signature"
This reverts commit<PHONE_NUMBER>7a7bd04663fe0bb838308d8a8a73e4.
implement it
failing test for new func
implement it
use right path
failing test for new func
implement it
failing test for new func
implement it
failing test for new func
implement the store

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#125  👈 (View in Graphite)
#124
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


On "Send Attachment" Modal, Pressing Android Chrome's "Back" Button once can freeze application and multiple Images can be able to sent

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

Action Performed:

Open Android Chrome App
Go to the Chat
Click on the "Add attachment" button
Select an image and press the "back" button once on your Android Chrome browse
After that, press the "send" button multiple times
Check the images on chat

Expected Result:
When using the "Send Attachment" modal on Android Chrome, pressing the "back" button once should not freeze the App
or allow the sending of multiple images.
Actual Result:
However, the current behavior is that pressing the "back" button once on the "Send Attachment" modal can freeze the application, and if the user repeatedly presses the "send" button, multiple images can be sent,
resulting in an error message on the chat.
Workaround:
unknown
Platforms:

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

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:
Reproducible in staging?: Needs reproduction
Reproducible in production?: Needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/230526239-94c63dc8-bb9d-4e38-961d-0d79d5e9c0f1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1680802435812509
View all open jobs on GitHub

Triggered auto assignment to @greg-schroeder (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@greg-schroeder Whoops! This issue is 2 days overdue. Let's get this updated quick!

@greg-schroeder Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@greg-schroeder Eep! 4 days overdue now. Issues have feelings too...

@greg-schroeder Still overdue 6 days?! Let's take care of this!

@greg-schroeder 10 days overdue. Is anyone even seeing these? Hello?

Will handle today

@greg-schroeder this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@greg-schroeder Eep! 4 days overdue now. Issues have feelings too...

@greg-schroeder Still overdue 6 days?! Let's take care of this!

@greg-schroeder 12 days overdue. Walking. Toward. The. Light...

[Incomplete] Proposal
Please re-state the problem that we are trying to solve in this issue.
So the issue here is the modal seems to hang when the back button (or gesture back) is clicked. What I noticed is after the user goes back, the modal fully works as it should except the state never gets updated (i.e. this.setState() just stops working). This is why the user is able to keep uploading attachments when the button is clicked.
The same issue happens if you open up the emoji picker and go back (you can see the page goes back to the drawer screen which is what also happens for the attachment modal).
What is the root cause of that problem?
The cause of this problem is most certainly react-navigation. I tested this by adding a <Text onPress={() => Navigation.navigate()}>CLICK ME</Text> in the emoji picker, after clicking it, sure enough it navigated back and I was no longer able to close the emoji picker.
As for why this is happening, I have absolutely no clue, zilch. I'm guessing it's a bug with the package, but couldn't find anyone else facing it.
What changes do you think we should make in order to solve the problem?

To resolve this I was thinking of listening to when the back button is pressed and perform any one of the following,

Close any open modal first, then navigate back to the drawer.
Even better, close any open modal and stop there.

For this we'll need to listen to an event that is fired just before the application navigates back to the drawer. This aside, the other problem is to close any open modal.
I've been trying to figure out how to listen to an event that is fired just before navigation all day today :sob: but I couldn't come up with anything useful. The closest I came to is the screenListeners attribute in the Drawer.Navigator component, but this doesn't seem to give me any useful information and fires only one event per navigation so I suspect it won't be of any use (since I need an event before the navigation takes place). I've tried Navigation events, but they're of no use either when it comes to the Drawer.
What alternative solutions did you explore? (Optional)
None

The reason I've posted my proposal even though it's incomplete is because I thought someone could help me out in resolving this or maybe the root cause could help someone else.

Apologies for the delay here, team. I've been dealing with a personal issue and fell behind on a few BugZero issues. I'll be managing these issues properly going forward. I'll start by cleaning up the issue to make it more readable and then we can proceed per normal.

Hmm - I wasn't able to reproduce this on Android. I know it's been a while - @ayazhussain79, can you confirm if you're still seeing this behavior?


Updated Tempered and Transcendent Jewels to 3.8.0

They both have a new variant. Updated Mods on jewels and removed old wordings.

This is mostly fine, but please do not remove any parsing capabilities from ModParser! Old builds, which can have old wording on items, or old verisons of the passive tree, may need it to continue working.


Fix weird build error with babelrc.js

Updated versions, changed babelrs.js to .babelrc and magic happened.

This sucked, RIP semver on docz l0l


Pyro Branch

Pyro has finally made it out.
Is it time to create a branch for it?

+1 and see pull request #76.

I'd also like to see a Pyro branch as well as latest Node/NPM recipes. Thanks!

A Pyro branch will also be great for me, thanks :+1:

I think he may be taking a well deserved break / too busy for updates at the moment.
If I get free time I will start pulling changes and fixes into my fork so they are all together and working when he returns.

Started merging all the various outstanding fixes and updates into my fork until he returns.
https://github.com/mdavis777/meta-nodejs
Pyro is branched off there.

Great !
Will try your fork today, will let you know if I see any issues


Marketing

@nathanwindsor is creating a video and he proposed an intro talk with house music in the background. Please check if the text is OK.

Sounds great @nathanwindsor :) Nice work and a fitting voice (is that yours?)
The only nitpicky suggestion I could make is the musical beginning/end:

Give the music a second or two to establish itself before the voice kicks in.
At the end there's a wrapup after the voice stops, pump up da volume..

Wherever that text came from, we can use it elsewhere (e.g. I want full control of my own identity).

@nathanwindsor. This is great work. Can't wait to see the animation.

Hi @kdvalentine and slack@nathanwindsor,
@lapin7 has asked me to make a video. I have just filled out the Sow @lapin7.
Please let me know if you need anything else from me.

Hi @magicmirage
The SoW is missing some things, but I will come back to you in an email.
I just asked you to create an epic under #43. When the video task is clear, we can allocate budget to it and go forward. It's also possible that the video task won't be executed at all. That depends on how we decide about it.

Ok sure, let me know.
Sorry about the epic, I'm new to GitHub so trying to get my head around it
all!
On Mon, 29 May 2017 at 2:08 pm, HJ Hilbolling<EMAIL_ADDRESS>wrote:

Hi @magicmirage https://github.com/magicmirage
The SoW is missing some things, but I will come back to you in an email.
I just asked you to create an epic under #43
https://github.com/rchain/Members/issues/43. When the video task is
clear, we can allocate budget to it and go forward. It's also possible that
the video task won't be executed at all. That depends on how we decide
about it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rchain/Members/issues/43#issuecomment-304645876, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AamA6B0x8O-o02DaGpDf0o9E6SBGvAQuks5r-rUmgaJpZM4NmyKt
.

--
Sam Rogers
Filmmaker
s http://samrogers.com.auamrogers.com.au http://samrogers.com.au

@magicmirage No problem. We're all learning how to collaborate.
BTW You can add the Add-on ZenHub to browser Chrome. Then you would see a KanBan view of the Epics/Issues.

Im going to close this tab because its really general in title and will be hard to assign budgets too.


Issue with nudging <= thresholds.

Line 701 of tree.py attempts to make <= and < work the same way by bumping the values:
                self.thresholds = np.nextafter(self.thresholds, -np.inf)

In this case the values all decrease. If a model was splitting on a single floating-point number, decreasing the thresholds would make the split give different behavior for <= and <. I think the values need to be increased by switching the line to:
                self.thresholds = np.nextafter(self.thresholds, np.inf)

I originally closed this issue after convincing myself that the original behavior was actually correct and I was wrong. Now I see that a recent commit changes the nudging again: https://github.com/slundberg/shap/commit/d712485e613a7d76a38fc20f3d392f8c09e43cd1
The new behavior is to nudge all < thresholds up:
self.thresholds = np.nextafter(self.thresholds, np.inf)
I think this (and my original suggestion) is not correct.
An example with a single split at for x1 at 1 and two data points at 0.9 and 1 can help:
Originally this looks like:
x1 < 1 ?
0.9 goes left
1 goes right
Replacing the < with <= without nudging gives wrong results:
x1 <= 1 ?
0.9 goes left
1 goes left
So we need to nudge:
Nudging up:
x1 <= 1+eps ?
0.9 goes left
1 goes left
Nudging down (old behavior):
x1 <= 1-eps ?
0.9 goes left
1 goes right
Maybe I am confused again, can you explain the change in the nudging behavior? Thanks.


Windows: Daemon default to Hyper-V containers on client

Signed-off-by: John Howard<EMAIL_ADDRESS>Fixes https://github.com/Microsoft/Virtualization-Documentation/issues/200. On client SKUs, sets the default isolation to Hyper-V and errors out if set to process, as client does not support Windows server containers. No change to server SKUs.
@mebersol @taylorb-microsoft

We haven't even officially started supporting Win10 yet and this issue is already a top hit... This should help a lot!

Looks good.

@thaJeztah Can this be moved to code review? Thx.

@jhowardmsft oh! Yes, I think it can

Can you also update the documentation around this setting? Describe that the default is different for client/server, and that client doesn't support "process";

https://github.com/docker/docker/blob/master/docs/reference/commandline/dockerd.md#options-for-the-runtime
https://github.com/docker/docker/blob/master/docs/reference/commandline/run.md#specify-isolation-technology-for-container---isolation
https://github.com/docker/docker/blob/master/docs/reference/commandline/create.md#specify-isolation-technology-for-container---isolation
https://github.com/docker/docker/blob/master/man/docker-create.1.md#specify-isolation-technology-for-container---isolation
https://github.com/docker/docker/blob/master/man/docker-run.1.md#specify-isolation-technology-for-container---isolation
(section seems to be missing in the dockerd man-page https://github.com/docker/docker/blob/master/man/dockerd.8.md)

Docs updated. @neilpeterson FYI for matching Microsoft side docs.

LGTM, thanks!

Ok, so there will be a docker daemon running on Windows 10 (client) which will only work with hyper-v, is that right?

Yes.

LGTM


Including with ratio as variable

Hi.
I am trying to include a twig file containing an image transformation with passing the ratio value like so:
{% include '_includes/header-image.twig' with {'ratio':'9/3'} %}
In _includes/header-image.twig i grab the ratio and stuff it into the imager function like so:
{ ratio: ratio, position: 'center-center', jpegQuality: 80 }
The image comes out without any transformation applied. Does anyone have an idea what might the problem be here? I can print the variable just fine so no math operation is being done on 9/3. Also imager log has no complaints showing.
Thanks in advance.

The ratio parameter takes a number value, not a string. Try:
{% include '_includes/header-image.twig' with {'ratio':9/3} %}

I’m sure that i did try that and it didn’t work. Now it does. It’s late Friday here. I guess I should call it a week.
Thanks!


Refix patient ids to be more random

Thanks for creating an issue! Please fill out this form so we can be sure to have all the information we need, and to minimize back and forth.

What are we trying to do?
our current ids follow the old pattern that DCAF had, which generates ids that aren't REALLY unique. @verbingthenoun reports seeing duplicates in the course of looking up people for data entry, which is not an ideal behavior (and a flaw with the method of generating IDs that we adopted from DCAF pre-DARIA). We should explore generating an actual unique identifier, or pressing a different identifier into service.

What feature or behavior is this required for?
Actual unique ids for data entry people to search by when doing fulfillments.

How could we solve this issue? (Not knowing is okay!)
I think the only places we use ID are the search and pledge generation forms. Clinics also use them in giving funds remits.

I think to decide what we need, we need answers to the following:

do non-dcaf funds use generated ids for anything besides pledge generation? (probably not, right?)

is it safe to surface these? (I think so but not sure)

what can we give to clinics? Do they need something that looks like our current pattern but is totally scrambled, or can we do like a full on hash (e.g. af5c32b) or something?

Anything else?
stems from a conversation with @verbingthenoun

closing since it's been two years


Don't compress symlinks

Hello,
I propose a fix to avoid compressing on symlinks as it should not be compressed. Symlinks in documentation folder  is necessary for example when we have multiple binaries with a single man page.
Thank you for this cool tool.

This fix do not work. I think I do not understand the source code.

By default we are following symlinks and compress them as regular files.  There's preserve-symlinks option that is required for symlink assets to exist.

I don't know where but I think there is a mess with symlinks when they are in the manual path. I activated the option and my symlink is still being compressed and goes in panic

Can you make an example project that demonstrates the bug?

Here you go : https://github.com/LeChatP/symlink-bug

My workaround is to compress the man by myself and do symlink with "gz" extension

Fixed in 90636b80fea0d38bbbcbfda263ab0450f03f97c7


Fixing reference to serde::__private::from_utf8_lossy

Fixing bug discussed in #24.
In the Serde repo, the method originally referenced is simply wrapping String::from_utf8_lossy. All tests pass.

Thank you! I will publish a new version immediately

Thank you! I will publish a new version immediately


Include shallow node modules

First of all, I love this module, and have been using it in various projects for a while now. Thanks!
Unfortunately, it seems like a lot of projects that I might depend on have enormous dependency trees.
To keep the graph reasonable, I currently exclude npm modules.
This is nice, as it gives me a graph of dependencies internal to my project, but it excludes all information about dependencies that I've imported.
I would like to be able to generate a graph that includes all of my external dependencies (node modules) as leaf nodes.
So, for example, if I require madge in my project, I'd like to see a leaf node for madge, but none of madge's dependencies.
I wouldn't be surprised if this can be accomplished with the current implementation - I just haven't figured out how to do it yet.
Any ideas?
Thanks!

@pahen any ideas? (not sure if github alerts you when issues are created)

Glad you like it! I did get the alert :) Busy at the moment though. But I'll will look into it soon. Must think about the best approach to solve it. It's not possible with current solution.

Great - thanks for the reply!
I played around with the -x option a little bit, trying to see if I could find a regular expression to match deep dependencies, but haven't had much luck with that yet.
I'll let you know if I think of anything.

I just wanted to let you know that I think I've found a solution that should work @bagrounds :)
I'll let you know when you can test it.

This has been fixed in v1.6.0 now @bagrounds. I've changed the behaviour of the option includeNpm and the new --include-npm to always be shallow since I don't see any case where you actually wan't traverse into node_modules. Give it as spin and see if it works as expected now :)

It will also show a CLI spinner and the currently processed thanks to the feature added in https://github.com/dependents/node-dependency-tree/pull/63 @mrjoelkemp

Woot! Awesome work

@pahen Thank you! It works!!
I tested this out on a library of mine, and here are the results:
Before:

After:

This is exactly the behavior I was hoping for - now I can clearly see how each internal module depends on external modules.

Sweet! :)


Options to crop and pad?

I'm currently using imagemagick to do a rescale given a bounded area:
  convert dragon.gif    -resize 64x64^  fill_dragon.gif
  convert terminal.gif  -resize 64x64^  fill_terminal.gif

http://www.imagemagick.org/Usage/resize/#fill
It would be great to ditch imagemagick for imgscalr if i could just crop/pad.

4.0 can now crop and pad. Let me know if this fits your needs, if not, please open a new feature request with specifics on how these are shot comings (So I can understand what holes need to be filled).


Feat: Addition of a Tracker.resetTracking() call?

Also see #259
"Old user logs out, new user logs in, track as new visit" seems to be a common yet problematic use-case that could be made easier by providing a call like:
class Tracker {
   /* .... */
   void resetVisit() {
        // Null user id
        // Set new random visitor id
        // set NEW_VISIT = 1
    }
}

Apparently the JavaScript SDK has this, I'm not certain whether the iOS SDK has this?
resetVisit might be a bit missleading and something like resetTracking would be more appropriate in conveying the effect.

https://matomo.org/faq/how-to/faq_187/

but how to push new_visit=1 from android, should we use Tracker.setUserId(1) or setVisitorId  or any other method?

        TrackMe trackMe = TrackHelper.track()
                .event("exampleCategory","exampleAction")
                .build();
        trackMe.set(QueryParams.SESSION_START, 1);
        mTracker.track(trackMe);

Solved with  #373
If not, please reopen it


(I'm actually not quite sure anymore, but I think those were from running it online.)

Something you might want to discuss with @ErikSchierboom is the best way to report on errors

I don't think I'm necessarily the expert here :)
What you want is for the student to be able to quickly figure out what is wrong with their code. So line numbers, bits of their code  and error messages all help with that. As to what's possible in Euphoria, I don't know.

Running game of life in the CLI (compiler error):

F:\misc\exercism\euphoria\game-of-life>eutest

interpreting t_game-of-life.e:
F:\misc\exercism\euphoria\game-of-life\game-of-life.ex:7
<0132>:: Syntax error - expected to see possibly ']', not ','
      integer mxy = m[x,y], nxy = -mxy
                       ^

FAILURE: t_game-of-life.e EUPHORIA error with status 1

Test results summary:
    FAIL: t_game-of-life.e
Files (run: 1) (failed: 1) (0% success)

Running same online:

We received the following error when we ran your code:
<0132>:: Syntax error - expected to see possibly ']', not ','

Running game of line in the CLI (incorrect output):

  failed: live cells with zero live neighbors die, expected: {
  {0,0,0},
  {0,0,0},
  {0,0,0}
} but got: {
  {0,0,0},
  {0,1,0},
  {0,0,0}
}

Same online:

failed: live cells with zero live neighbors die, expected: {

So the question is what needs changing to get the extra info to show up online?

This is the relevant code: https://github.com/exercism/euphoria-test-runner/blob/main/bin/run.ex

@axtens can I leave that in your capable hands?

Yep. You can.

I also think you'd get friendlier messages from t_space-age.e if you did it like this instead

procedure is_close(sequence desc, atom val1, atom val2)
    val1 = floor(val1*100)/100
    test_equal(desc,val1,val2)
end procedure
is_close("age on Earth", ageOn("Earth",<PHONE_NUMBER>), 31.68)
is_close("age on Mercury", ageOn("Mercury",<PHONE_NUMBER>), 280.87)
is_close("age on Venus", ageOn("Venus", 189839836), 9.77)
is_close("age on Mars", ageOn("Mars",<PHONE_NUMBER>), 35.88)
is_close("age on Jupiter", ageOn("Jupiter", 901876382), 2.40)
is_close("age on Saturn", ageOn("Saturn",<PHONE_NUMBER>), 2.15)
is_close("age on Uranus", ageOn("Uranus",<PHONE_NUMBER>), 0.45)
is_close("age on Neptune", ageOn("Neptune",<PHONE_NUMBER>), 0.35)
test_false("invalid planet causes error", ageOn("Sun", 680804807))

However I'm not at all certain whether truncating (as above) or rounding (as current) would be best, and suspect "the Phix way" is subtly incompatible with Euphoria, at least the way I'd naturally do it...

I'm quite okay with you forking the repo and raising a PR. I'm not sure who authored our current one, but it wasn't me. Might have been @glennj or possibly @BNAndras

That was me.

I can make that fix later today.

Upon review, The problem I have with this approach is that some of the expected values will deviate slightly from the canonical ones. The deviation is occurring because of an implementation detail. Generally, the languages I've worked with had a way to compare floating point values with a specified tolerance. That'd be a more robust way of approaching this if we could suggest changes to the unit test library.

Not use eutest?? Hmm.  Maybe we could do some shims. @petelomax is good at that. Can you unpack your suggestion a bit further?

I did in fact change the Phix test_equal() to allow the default tolerance of 1e-9 to be overidden. While making a similar change to Euphoria might not be technically difficult, getting a new version shipped with that change in it would be, as things stand..
I suspect what you really have issues with here though is the val1 = floor(val1*100)/100 line above, my intention was you could replace that with round() or even a couple of sprintf()

We have two separate issues in this thread: the precision issue in space-age and the modification of the test-runner to better reflect where an error was encountered. Seeing as right here is https://github.com/exercism/euphoria/issues/75 to which I've been assigned, how about the rest of you create a separate issue, put a link to it here, and go over there and discuss it.


Override paths.js values in razzle.config.js

I would like to move my server dir into the root so my filesystem would look like this.
-/src
-server
-...etc.
Digging in razzle, it seems that babel and webpack are getting location of code from
module.exports = {
  dotenv: resolveApp('.env'),
  appPath: resolveApp('.'),
  appBuild: resolveApp('build'),
  appBuildPublic: resolveApp('build/public'),
  appManifest: resolveApp('build/assets.json'),
  appPublic: resolveApp('public'),
  appNodeModules: resolveApp('node_modules'),
  appSrc: resolveApp('src'),
  appPackageJson: resolveApp('package.json'),
  appServerIndexJs: resolveApp('src'),
  appClientIndexJs: resolveApp('src/client'),
  testsSetup: resolveApp('src/setupTests.js'),
  appBabelRc: resolveApp('.babelrc'),
  appEslintRc: resolveApp('.eslintrc'),
  appRazzleConfig: resolveApp('razzle.config.js'),
  nodePaths: nodePaths,
  ownPath: resolveOwn('.'),
  ownNodeModules: resolveOwn('node_modules'),
  publicUrl: getPublicUrl(resolveApp('package.json')),
  servedPath: getServedPath(resolveApp('package.json')),
};

The only issue is, because the values are hard coded, I can't override them.
I've come up with a work around by copypasting the resolveApp function from razzle to razle.config.js
const appDirectory = fs.realpathSync(process.cwd());
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);

and looping through rules and depending on environment and configuration I replace the include property with my custom path, like so...
      appConfig.module.rules.map(rule => {
        if (rule.include && rule.test) {
          rule.include = [
            resolveApp('server'),
            resolveApp('src'),
          ];
        }
      })

This feels really hacky though. Would it be possible to abstract the hard coded values in paths.js to environment variables or expose them in the createConfig function so that I can change the paths whenever I want?
I'd be happy to work on this if it seems like a good idea, but maybe there's a solution for this already that I'm missing. Please help :)

Well. I moved my server to new server folder inside src
And then in razzle.config.js edit config for the server
config.entry.pop()
config.entry.push('./src/server')

It works fine but seems like after this debugging (--inspect) nodejs is broken

I'm also using workarounds to set different application directory, it's a pretty large project that hosts API code in the same root directory, and 'src' is really ambiguous.

@nvma Can you please provide an example to set different application directory? Thanks!

I think this is a pretty important issue. I'd be willing to submit a PR ASAP if we can come up with a list of the core directories that should be configurable. Off the bat, I'd say: build, src for client, src for server, and public.

I was able to resolve it in my razzle / webpack configuration.

On my radar, have sort of a plan 😀


docs: update release guide with signing details

This commit updates the release guide with detailed steps for
signing tags and release artifacts in a consistent way.
Fixes #2734

@s-urbaniak typo fixed

LGTM


Sample management

Work in progress.

.spk sample packs in SD-Drive

[x] Push

.syx in SoundBrowserPage

[ ] Send (NOT WORKING)

SampleManager with gateway 0x34

[x] List, implementation in FileBrowserPage
[ ] Rename, erase, copy/paste

Better .wav file support

[x] extended attribute
[x] multi-channel wav files
[ ] smpl chunk

[x] loop points
[ ] root node
[ ] slices

WavEdit

@jmamma couldn't get the sysex listener to work.
Here's my attempt at sample slot querying:
void SoundBrowserPage::query_sample_slots() {
  DEBUG_PRINT_FN();
  encoders[1]->cur = 0;
  encoders[1]->old = 0;
  numEntries = 0;
  cur_file = 0;
  uint8_t data[3] = {0x70, 0x34, 0x00};
  sysex->addSysexListener(this);
  for (int i = 0; i < 48; ++i) {
    mcl_gui.draw_progress("Loading slots", i, 47);
    s_query_returned = false;
    MD.sendRequest(data, 3);
    while (!s_query_returned) {
      handleIncomingMidi();
    }
    add_entry(s_samplename);
  }
  sysex->removeSysexListener(this);
}

... and end_immediate is never reached.
I initialize it like this:
  SoundBrowserPage(Encoder *e1 = NULL, Encoder *e2 = NULL, Encoder *e3 = NULL,
                  Encoder *e4 = NULL) : FileBrowserPage(e1, e2, e3, e4), MidiSysexListenerClass() {
    ids[0] = 0;
    ids[1] = 0x20;
    ids[2] = 0x3c;
  }

and expect to have a pattern matching in end_immediate:
void SoundBrowserPage::end_immediate() {
  DEBUG_PRINT_FN();

  if (sysex->getByte(0) != 0x00)
    return;
  if (sysex->getByte(1) != 0x20)
    return;
  if (sysex->getByte(2) != 0x3C)
    return;
  if (sysex->getByte(3) != 0x02)
    return;
  if (sysex->getByte(4) != 0x00)
    return;
  if (sysex->getByte(5) != 0x72)
    return;
  if (sysex->getByte(6) != 0x34)
    return;
  DEBUG_PRINTLN("SoundBrowserPage: end_immediate passed");
  for (int i = 0; i < 5; ++i) {
    s_samplename[i] = sysex->getByte(7 + i);
  }
  s_samplename[5] = 0;
  s_query_returned = true;
}

What am I doing wrong?

 8
 9 public:
10   bool state = false;
11
12   TrigInterface() : MidiSysexListenerClass() {
13     ids[0] = 0x7F;
14     ids[1] = 0x0D;
15   }
16   void setup(MidiClass *_midi) {
17     sysex = &(_midi->midiSysex);
18   }

trig_interface.setup(&Midi);

Need to set which MidiSysexClass to attach to.
Either Midi->Sysex or Midi2->Sysex
otherwise:
  sysex->addSysexListener(this);

wont work.
Should probably set default for Midi->Sysex, as this has caught me out a number of times.

Also,
  if (sysex->getByte(0) != 0x00)
    return;
  if (sysex->getByte(1) != 0x20)
    return;
  if (sysex->getByte(2) != 0x3C)
    return;

Are validated from
    ids[0] = 0;
    ids[1] = 0x20;
    ids[2] = 0x3c;

before calling end/end_immedate.
no need to check them twice.

Sending wav from sd to MD is working now.
@jmamma could you help figure out how to receive?
Also, the samplemgr file menu is glitching on init. Turn the selection knob and it'll be cleared.

Loading my sd card with samples now 🎵~

@jmamma could you help figure out how to receive?

What do you mean exactly?

Loading my sd card with samples now 🎵~

Keep them under 48khz 😉

Currently I have:

But not sure how to proceed:

Add the sds sysex listener?
Data packets are processed in end(), not end_immediate(), will it trigger if I keep calling handleIncomingMidi?
Is it ok to refactor sds sysex listener to allow custom receive file?

sendDumpRequest.. we need to implement this on the MD side.

huh, it's simply not there?

Yes, not implemented.
I hacked it using macros.
See   MDClass::send_sample();

ha. auto hotkey.

Also. MCL is already configured to automatically receive samples.
  6 void MCL::setup() {
...
 55   MidiSDSSysexListener.setup(&Midi);

what's the difference between setup and addSysexListener?

what's the difference between setup and addSysexListener?

setup tell the listener child class which parent listener to attach to. either Midi->Sysex or Midi2->Sysex.
292 void MidiSDSSysexListenerClass::setup(MidiClass *_midi) { sysex = &(_midi->midiSysex); sysex->addSysexListener(this); }

Add / remove actually adds the callback to the Listener Parent, so that when sysex dump is received the childs end_immediate() or end() functions are called.

Samplemgr display is fixed.
Requires https://github.com/yatli/mdhack/commit/ef7d28cd00b10f02a676bd004f68a6b5795a3acc
Give it a go when you have time :)

send sysex implemented for SD-Drive.
Need testing.

MD stuck at "RECEIVING SAMPLE" popup:
Bd1.zip

Also, I tried to send sysex with SD-Drive.
Target file is MD-909 slot 1.
When transmission starts, MD samplemgr stuck at waiting.
After a while it gives an error like "memory full"

so currently, all I can send is "render.wav"

Update: it does receive. Just very slow. ~5 packets per second.
The delay(200) thing?

It's been sending a chained sample for 1 hour. Slow, but pretty stable I have to say!

The delay(200) thing?

Can't remember why that is there. It should send using the handshake protocol.
Do you see "closed" or "open" loop on the MD side?

wasn't in samplemgr, only see a huge popup with a progress bar.
I added some debug info -- doesn't look like it's open loop because I don't see "response time out switch to no handshake"

After 1hr I've loaded a 1.7MB sample chain.
Having fun :D :D :D

SDS is slow. but not that slow!
What's your turbo speed? I suspect if it was only doing 5 packets a second it was running in open loop and the delay(200) was kicking in. That delay should be removed.

also if you open sample mgr up before hand. and manually select slot for recv, you should see what transfer mode is in progress.

another possibility is debug mode is causing the timing to mess up and it falls back to open loop.

Let me try a release build.

Stereo sample always results in "too big" error?

oh yeah. SDS is mono only.
who is throwing the error? MD or MC?

MD is throwing error.

Okay, channel-wise too big.
Got it. :)

yeah i didnt add support for stereo samples.
either send 1 channel, or sum L + R

Worked it out.
On 1st waitForMsg, it may send back SDS_WAIT, which is not checked.
The routine then goes directly into open loop (and thus delay(200))

Also, need addSysexListener in waitForMsg.

Multi-channel sample supported now

Nice work handling the channel interleaving.

Currently sendWav doesn't handle file names.
Any ideas how to implement that?

274 void MDClass::setSampleName(uint8_t slot, char *name) {

It kind of works...
After SDS dump finishes, MD will be busy "cleaning up".
If we send the set name request now, it may be ignored, or it may become "sticky" and assign the name to the next transmitted sample 0.0

Consider extended dump header?

It kind of works...
After SDS dump finishes, MD will be busy "cleaning up".
If we send the set name request now, it may be ignored, or it may become "sticky" and assign the name to the next transmitted sample 0.0

Hmm. I wonder how the C6 program pulls it off ?
It may suffer from the same issue though...

When the MD sends a sample it sends the Sample name first immediately followed by the SD.
Maybe try reversing the order ?

hmmm interesting. Let me have a try.

It works. I didn't expect this is how it should!

Check out 0x0020e01e -- that's how it sends sds dump data packets

bulk sample transmission feels good!

I'm guessing that ROM machines work just like RAM machines, but the content is sourced from flash.
SDS dump data packets are written to flash directly.
"Cleaning" means maintaining the file blocks.
"Loading" means flash->battery backed SRAM.
Think about a MD fully loaded with 48 ROM samples. If it's loaded from FLASH on the fly, it will take ~10 seconds.
Instead, this is probably done at samplemgr in a one-time service manner. The battery-backed SRAM content won't change until next sample transmission?

I'm guessing that ROM machines work just like RAM machines, but the content is sourced from flash.
SDS dump data packets are written to flash directly.
"Cleaning" means maintaining the file blocks.
"Loading" means flash->battery backed SRAM.
Think about a MD fully loaded with 48 ROM samples. If it's loaded from FLASH on the fly, it will take ~10 seconds.
Instead, this is probably done at samplemgr in a one-time service manner. The battery-backed SRAM content won't change until next sample transmission?

Yeah this is my interpretation. For faster loading we could skip the writing to SRAM bit.

Also. From the manual:
All sample speeds from 4 kHz to 48 kHz are accepted and handled by the Machine- drum UW. Higher rates are accepted but the samples are downsampled to half the sampling speed. The Machinedrum UW does not handle stereo samples. All bit depths are accepted but will be played back at 12 bit.
https://www.elektronauts.com/t/prepping-samples-for-md/36489/29
I was curious as to what happens to 24bit samples, we didn't clearly identify a truncation. But users are reporting they are converted from 24->16bit (33% reduction in size on save).

I just realised that saving as .WAV we lose any loop data in the SDS header.
Which means a SDS restore wont restore single cycle wavs correctly
.WAV has support for CUE points, which we can encode loop data.
C6 used to support this:
http://www.elektron-users.com/index.php?option=com_fireboard&Itemid=2&func=view&id=26236&catid=9
This might also be useful for encoding playback slice positions.
http://archive.li/UjwDW#selection-2578.2-2578.5

Yep I remember some of the wav samples are loop-enabled.
Wrt slice positions: MD only has 128-segment resolution, and I tried some sample chains I made for OT, doesn't align perfectly.
We may need to pad the elements.

This might be useful ?
The ROM machines ROM-25 to ROM-48 operates slightly differently since they are optimized for loops. How the parameters differ from the other ROM machines is described below.
HOLD - Set to a value of 127 the amplitude envelope is open for 2 bars. A setting of 1 will keep the envelope open for 1⁄4 of a step (1/16 note)
STRT - This parameter is now linear which makes it easy to find a position within a loop. In a 2-bar loop you will find each 1⁄4 note located every 128/8 = 16 parameter steps. So for every 16 steps of the parameter you will find each beat in the loop.
END - Also linear and functions basically the same way as the STRT-parameter.

I thought this is the case for all ROM machines?

Nope, slots < 25 are exponential
STRT - Controls the start point of the sample. The parame- ter is exponential, giving a very fine control over the begin- ning of a sample.
END - Controls the end point of the sample. The sample will be reversed if it is set to a lower value than the STRT parameter

This might also be useful for encoding playback slice positions.

Consider OT metadata format?

I'm not familiar with the OT metadata format.
I'm assuming it's the same WAV format as mentioned above?

When you save metadata on OT (BPM, gain, slices etc.) it will save a .ot file next to the sample. It's a binary format that is well understood by 3rd party devs.

Feels sacrilegious mixing MD and OT 😁
That reminds me, at some point I was going to create a WAV editor viewer for the 128x32 LCD 😁
WavDesigner needs a bit of work too.

Also, we need a quick way of moving RAM recording to free ROM slot.

Need to update the sample slot query to also indicate whether the slot is empty.
This can be done by calling samplemgr_find_slot_start_block_offset -- when it returns 0 it means the slot is free.

The MD SDS dump sequence:
[SDS Dump Header]
[UW SetName]
[SDS Dump Data...]
🤔

The MD SDS dump sequence:
[SDS Dump Header]
[UW SetName]
[SDS Dump Data...]
🤔

Is that from MIDI dump?

I get this information from the code directly.

Project browser is broken.

Now requires https://github.com/yatli/mdhack/commit/f09810d08bbe52aa7b5c52e78ebe7f914088df25.
Sample slot query is done in a batch, and is almost immediate now.
Also detects [EMPTY] slots.
But I'm a bit stuck here. On 1st call everything is fine. On second call the control flow breaks for unknown reason, and returned to the caller:
void SoundBrowserPage::query_sample_slots() {
  DEBUG_PRINT_FN();
  encoders[1]->cur = 0;
  encoders[1]->old = 0;
  numEntries = 0;
  cur_file = 255; // XXX why 255?
  cur_row = 0;
  uint8_t data[2] = {0x70, 0x34};
  call_handle_filemenu = false;

  sysex->addSysexListener(this);
  MD.sendRequest(data, 2);
  DEBUG_PRINTLN("slot query sent");
  auto time_start = read_slowclock();
  auto time_now = time_start;
  do { // <------------ somewhere here, it doesn't go into the while loop, but acts as if "return" is called ?
    handleIncomingMidi();
    time_now = read_slowclock();
  } while(!s_query_returned && clock_diff(time_start, time_now) < 1000);

  if (!s_query_returned) {
    add_entry("ERROR");
  }
  ((MCLEncoder *)encoders[1])->max = numEntries - 1;

  sysex->removeSysexListener(this);
}

s_query_returned is not being reset to false ?

Also can we move away from the proprietary .spk archive and instead use directory structure on the SD card to store WAVs?
Each directory could be a possible sample bank.
This allows managing banks offline when SD card is connected to computer and allows for sending individual samples easily.

s_query_returned is not being reset to false ?

brain failure!

Also can we move away from the proprietary .spk archive and instead use directory structure on the SD card to store WAVs?

A .spk is just a txt file listing the file names one by one. Wav files are stored in the filesystem separately.

@jmamma the sample management send part is ready.
All sample receive functionalities not implemented.
SYSEX send is not working.

Debug builds starting to fail.
Have to remove some debug messages...

MidiSDS::sendWav now directly read loop info from the wav file, so wavDesigner doesn't pass SDS loop information anymore.
Instead, WavDesigner saves a wav file with loop info baked in a smpl chunk with one loop descriptor.
Tested working.

Testing with loops extracted from a Roland SC-88 soundfont now...

It works now, the MachinePiano

There is an alignment issue though -- loop point position off by one?
I hear "zzz" when it's looping.

There is an alignment issue though -- loop point position off by one?
I hear "zzz" when it's looping.

There might be no easy fix here.
In WAV designer for single cycle waveforms I get around this by making sure the fundamental frequency of the looped waveform sample rate line up.  The sample rate is adjusted if thats not the case.

Good enough for fast-paced arps at least!

Tested a few instruments, wurly, rhode, piano, guitar etc.
The alignment problem is sample-wise -- some of them have perfect playback.

can you upload some samples for me to test. will look at this later tonight.
currently preparing for the apocalypse.
Melbourne is on track for epidemic in next 2 weeks.

Switching brain from 'disaster survivalist' back to 'mcl firmware developer'
😓

@yatli wow excellent work with the sample chunk support!

I've tested uploading a few of the instrument samples.
Loop point seems to just be the length of the WAV, is this intentional ?

Em no?
Try wurly/wurly_m-d2.wav?

checking...

The SC-8820 folder also works

ha that works great! i actually didnt know the MD could  pull that off.

Some of the samples I sent did default to looping the WAV length. maybe this was their designated loop point?

i think we need to go ahead and create the waveform editor with loop point support. 😁

I unpacked the .sf2 with an ancient tool sf2comp: http://www.hammersound.net/mirrors/last_night/sf.htm
Which sample? I can check with a more advanced tool (e.g. Viena).

SC-88\SAMPLE_13.wav

So yeah, "intentional". :)

layering sample instruments with the ARP is glorious!

we need to add "LA synthesis" to the WAVDesigner. Transient segment + loop segment.

Root note information is not yet taken into consideration.
The data is there already, and is well-formed in the samples, see smpchunk_t::dwMIDIUnityNote (60 = C4)

A workaround for the "zzz" is to go lo-fi.
BRR=30, FLTW=80

How do we use the root note information, on the chromatic keyboard display ?

Yeah filtering will remove the buzz, in a musical production it will be less noticeable. often those sounds fade in to other instruments like high hats etc..

How do we use the root note information, on the chromatic keyboard display ?

Chroma keyboard, and step edit note pitches. I think currently the pitch values are based on the assumption that PTCH=64 <-> "Middle C" ?

How do we use the root note information, on the chromatic keyboard display ?

Chroma keyboard, and step edit note pitches. I think currently the pitch values are based on the assumption that PTCH=64 <-> "Middle C" ?

yeah that sounds right

MCL file size 216914 KB now.
Something to keep in mind.

Yeah. Debug builds are failing.

Chroma keyboard, and step edit note pitches. I think currently the pitch values are based on the assumption that PTCH=64 <-> "Middle C" ?

That brings another question. How do we establish a link between sample slots, and their original wav files on SD drive.

I've been thinking about this for a while.
One possible attack vector is that MD only displays uppercase sample slot names.
For example, "BD01" will display correctly, but "Bd01" will cut off, shown as "B   " in the kit editor.
This means that if we further limit the sample name to 3 characters, we gain one byte (7bit though) that can be associated with 128 sample slots in a project.

Actually we don't need 128 slots.
48 will be enough

Also, about chroma poly voices. How to configure it so that I have 4x4-voice rompler?

multi-timberal. good luck :D

im wondering if we drop support for the A4 to gain back bytes...

I wonder how much would we gain back if so.
Some 2% or 3%?

Some samples are missing from the file browser.
Name too long? Case sensitivity?

not sure. you'll need to dump the raw listing and see.
If there's no more free space for DEBUG disable EXT_TRACKS in memory.h

@yatli ^ have fun.

Updated the makefile a bit to detect system avr-gcc

Having problems with the linux build.
The built main.hex is only 72787 bytes.
Things not getting compiled?

I havent built on linux for a while. but it should "just work"

You're probably not linking MCL.h
check mcl_setup.cpp

The setup and loop in weak_funcs.cpp prevented it to be linked properly.

hmm we probably dont need them. this is old ruin&wesen code

loaded. the wavform looks a bit strange to me. trying to make sense of the page now..

loaded. the wavform looks a bit strange to me. trying to make sense of the page now..

They should be accurate. I've compared a few with output on Audacity on PC>
I've added a few patches to improve zooming. Waveform was also inverted.
See: https://github.com/jmamma/MIDICtrl20_MegaCommand/pull/111

After merging dev:
Release: 209950 bytes (82%)
Debug: 229818 bytes (90%)

@jmamma branch rebased to latest dev.

Tested, everything works.

@jmamma I'd like to add a feature to the project file system -- sample slot descriptors.
The sample slot descriptors can be written in a file next to the grid files.
For every WAV transmission to MD, we update the descriptor file to track slot assignment. So when we move to another project, overwrite the sample slots, and then come back, we have a way to restore the samples for the current project.
For the ease of maintenance, we can reuse plain text ".SPK" file format which I already built for bulk-loading a sample pack. TODO: need to generalize .SPK to take absolute paths, and skip empty lines.
A sample slot descriptor file, therefore, contains 48 lines, each line pointing to a WAV file on the SD card. An empty line means the current project has not yet designated any samples to the slot.

So basically a SampleBank per project.
For every WAV transmission to MD, we update the descriptor file to track slot assignment.
Yes, and someway of tracking/syncing the current Bank on the MD.

Could we implement some sort of fast hash on the MD side. and compare with local files...

Won't match. MD samples are processed.

How big is the binary for this branch?

The only workaround on the MD side, as I figured a while ago, is to examine the slot name...
In my current implementation it's the first 2 and last 2 chars of the original file name combined.

One moment, I'll sync the Makefile changes to Arduino build.

On Windows:
Sketch uses 234152 bytes (92%) of program storage space. Maximum is 253952 bytes.
Global variables use 49644 bytes (87%) of dynamic memory, leaving 7187 bytes for local variables. Maximum is 56831 bytes.
Low memory available, stability problems may occur.

After removing references to sprintf:
Sketch uses 232730 bytes (91%) of program storage space. Maximum is 253952 bytes.
Global variables use 49650 bytes (87%) of dynamic memory, leaving 7181 bytes for local variables. Maximum is 56831 bytes.
Low memory available, stability problems may occur.

sprintf ? where is that being used?

https://github.com/jmamma/MIDICtrl20_MegaCommand/pull/104/commits/ff06a9d0d17e91729500d6a461dabb8c3b7fe040
My bad. I naively thought that replacing 3 calls with 1 would reduce size :p

avr newb :grin:

We need to go through the firmware and replace instances of
m_str*
with standard library variants where they exist.
ie:
./MCL/Wav.cpp:  m_strncpy(&filename, file_name, 16);
./MCL/Wav.cpp:  m_strncpy(&filename, new_name, 16);
./MCL/FXPage.cpp:    m_strncpy_p(str, param_name, 4);
./MCL/FXPage.cpp:    m_strncpy_p(str, param_name, 4);

./GUI/GUI.cpp:  m_strncpy(data + idx, str, len);
./GUI/GUI.cpp:  m_strncpy(data + idx, str, m_strlen(str) - 1);
./GUI/GUI.cpp:  m_strncpy(data + idx, str, sizeof(lines[0].data) - idx);

No much gain, but better than nothing:
Sketch uses 232418 bytes (91%) of program storage space. Maximum is 253952 bytes.
Global variables use 49650 bytes (87%) of dynamic memory, leaving 7181 bytes for local variables. Maximum is 56831 bytes.
Low memory available, stability problems may occur.

Can you help double-check https://github.com/jmamma/MIDICtrl20_MegaCommand/pull/104/commits/87ae77d7f1ef77f5d5cc3c77a9c27565c35c6ac9

Got to break out of this session. Preparing a talk.

Rebased to latest dev.

avrdude: 237280 bytes of flash written

Starting to have weird problems like the dreadful "SD CARD ERROR :-(", garbled file menu etc.

My binary with debug on is 243918 and i'm not noticing any issues.
I'm wondering what's the cause of this issue, because previously I saw same problem as you when I went past 240K


Contact Form

Please describe.
The contact us section talks about a form but doesn't have one right now.

Describe the solution you'd like
.Addition of a responsive contact us form in the contact section.

[ yes] VSoC Contributor.

Email
<EMAIL_ADDRESS>.

Don't have a plan to add backend as of now. Instead you can adjust he alignment and change the text.


opensmalltalk-vm: flatten at the top-level, use meta.platforms

Description of changes
Refactor opensmalltalk-vm to define its packages regardless of
the target and use meta.platforms to descriminate. All packages
should be fully overrideable as well.
Flatten the local VM set into the top-level package set.
Next we should try to build the Pharo VM.
Ref #238053
Things done
I checked the build log and the flags are being passed as before.
I tested squeak-cog-spur on x86_64-linux. I don't have hardware or images to test the others.

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

@ofborg build squeak-cog-spur squeak-stack-spur newspeak-cog-spur


2.1.0 build error due to pybind11

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux CentOS 7.7.1908
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version: 2.1.0
Python version: 3.7.5
Installed using virtualenv? pip? conda?:
Bazel version (if compiling from source): 0.27.1
GCC/Compiler version (if compiling from source): 7.4.0
CUDA/cuDNN version: none (CPU only build)
GPU model and memory:

Building tensorflow 2.1.0 results in compile errors due to pybind11.  This is a build for CPU-only use without any dependency on CUDA libraries.  Example error (out of ~630):
bazel-out/host/bin/external/local_config_python/python_include/pybind11/detail/common.h:302:12: error: multiple definition of 'enum class pybind11::return_value_policy'
 enum class return_value_policy : uint8_t {
            ^~~~~~~~~~~~~~~~~~~
In file included from external/pybind11/include/pybind11/pytypes.h:12:0,
                 from external/pybind11/include/pybind11/cast.h:13,
                 from external/pybind11/include/pybind11/attr.h:13,
                 from external/pybind11/include/pybind11/pybind11.h:49,
                 from tensorflow/python/framework/op_def_registry.cc:16:
external/pybind11/include/pybind11/detail/common.h:302:12: note: previous definition here
 enum class return_value_policy : uint8_t {
            ^~~~~~~~~~~~~~~~~~~

Build steps:
python3  -m venv py37-env
source py37-env/bin/activate
pip install -I --no-cache-dir "numpy==1.17.2"
pip install -I --no-cache-dir "pybind11==2.3.0"
pip install -I --no-cache-dir six wheel setuptools mock 'future>=0.17.1'
pip install -I --no-cache-dir keras_applications --no-deps
pip install -I --no-cache-dir keras_preprocessing --no-deps

# Run to try and keep bazel from using the wrong python
export PYTHON_BIN_PATH=`which python3`
export PYTHON_LIB_PATH=`python -c "import sys ; print(sys.path[-1])"`
export PYTHONPATH=$PYTHON_LIB_PATH
export TF_NEED_OPENCL_SYCL=0
export TF_NEED_COMPUTECPP=0
export TF_NEED_OPENCL=0
export TF_CUDA_CLANG=0
export TF_DOWNLOAD_CLANG=0
export CC_OPT_FLAGS="-march=sandybridge -mtune=intel  -Wno-sign-compare"
export TF_NEED_CUDA=0
export TF_NEED_TENSORRT=0
export TF_NEED_ROCM=0
export TF_SET_ANDROID_WORKSPACE=0
export TF_ENABLE_XLA=0
export USE_DEFAULT_PYTHON_LIB_PATH=1

./configure

time bazel build  --verbose_failures  \
  --config=opt \
  --config=mkl \
  --config=numa \
  --config=v2 \
  --linkopt="-Wl,-rpath=/share/pkg.7/gcc/7.4.0/install/lib64" \
  --linkopt="-L/share/pkg.7/gcc/7.4.0/install/lib64"   \
  --host_linkopt="-Wl,-rpath=/share/pkg.7/gcc/7.4.0/install/lib64" \
  --host_linkopt="-L/share/pkg.7/gcc/7.4.0/install/lib64"  \
  //tensorflow/tools/pip_package:build_pip_package

bazel37.zip

Since you are building from source, can you try building from master?

Since you are building from source, can you try building from master?

I did a git checkout from master, switched to Bazel 2.0.0, and used the same build process.  It built without any problems.
Target //tensorflow/tools/pip_package:build_pip_package up-to-date:   bazel-bin/tensorflow/tools/pip_package/build_pip_package INFO: Elapsed time: 1545.899s, Critical Path: 214.52s INFO: 17016 processes: 17016 local. INFO: Build completed successfully, 18417 total actions INFO: Build completed successfully, 18417 total actions

Interesting. Thank you for the check.
Do you want to build on 2.1 or master/2.2 is ok?

The build from master also succeeded for Python 3.6.9.  I'd prefer to have an identical CPU-only v2.1.0 to match the tensorflow 2.1.0 install via pip for GPU usage.  However I can live with this for now so this is low priority for me.  On our cluster all the "real" tensorflow work is done on GPUs but we also use the CPU-only build for development, testing, and some classroom usage.

If you want a CPU-only tensorflow you can also try using the tensorflow-cpu pip package
Regarding the pybind error, we had some segfaults due to ODR violations at the time, so this could be related. We fixed them in master (and 2.2)

Use tensorflow version 2.0 only puthon3.7x

@jameszow2 please don't provide bad advice. TF 2.0 is not a long term release and will soon no longer receive any updates/support. Plus, the issue here is in C++, not in Python.

@mihaimaruseac - oops, just trying to clarify my statements.  The tensorflow-cpu pip pakage for 2.1.0 works great, but the issue for us is that it uses AVX instructions and our cluster has a decent amount of Nehalem architecture CPUs that don't support AVX.  The CPU-only source code build is to support up to SSE4.2 so that tensorflow 2.1.0 code will run on the Nehalem CPUs.   Jobs that run on newer CPUs will load the code from the tensorflow-cpu pip package, and if there's a GPU installed it'll load the regular tensorflow pip package.

That makes sense now. Thanks for explaining. I can dedicate some time to investigate the build failure in this case, but won't be able to do this until mid of April unfortunately :(

Unfortunately we cannot patch old branches except for security reasons. Can you try with newer versions of TF?

@bu-bgregor
As we have the latest stable version 2.6.0, Can you try building TF 2.6.0 or any later 2.x version and let us know if the issue still persists?


Add empty CollisionGroups ctor, and option to replace masks entirely

This should make it easier to create CollisionGroups values from scratch using bitmasks. This is a further extension of #331.

@sebcrozet Could you please take a look at this PR?

Looks great, thanks @toasteater!


C++: Rewrite RedundantNullCheckSimple.ql for perf

The performance of this query appears to have regressed since I first tested it on 5 February 2019. On Wireshark I was getting this summary of slowest predicates:
#select#cpe#13#ff ................................... 49m44s
#select#cpe#13#ff#antijoin_rhs ...................... 6m10s
#select#cpe#13#ff#shared ............................ 4m9s
Element::ElementBase::toString_dispred#ff ........... 37s
Instruction::Instruction::toString_dispred#ff ....... 29.2s
IRBlock::IRBlock::dominates_dispred#ff .............. 21.3s
IRBlock::IRBlock::dominates_dispred#ff_10#join_rhs .. 9.1s

The main cause of slowness is a CPE predicate inserted by the optimiser, but the query wasn't likely to be fast in the first place because it used dominates, which is a huge relation, in a 3-way join for which there was no good join order.
I've rewritten the query with manual recursion to follow the edges of the immediatelyDominates relation, stopping as early as possible. This gives the following summary of slowest predicates:
Element::ElementBase::toString_dispred#ff ........... 36.3s
Instruction::Instruction::toString_dispred#ff ....... 31.1s

Could these predicates be made relative to a (properly constrained) ValueNumber rather than a SingleValuedInstruction?

@rdmarsh2 I think ValueNumber is what we ought to use, but it didn't work when I originally wrote the query. There was no rule in the GVN library to establish that Load m1, r1 == Load m1, r2. Such a rule doesn't hold in general because the two uses of m1 may not totally overlap. Now that the IR models overlap better, I hope it's possible to improve GVN to support this use case.

I'll close this PR because the issue was addressed in a simpler way by #1285.
For the record, my claims about CPE being the cause of the slowdown were wrong.


After updating from 0.72.1 to 0.72.2 I can't make a build (Xcode 14.2)

Update: please refer to this comment  for status and workarounds.

Description
I run "RCT_NEW_ARCH_ENABLED=1 bundle exec pod install" and success install pods. After that, I try to make a build, but I get an error
"/Users/{user}/IdeaProjects/{project}/ios/Pods/Headers/Public/glog/glog/logging.h:512:1 Import of module 'glog.glog.log_severity' appears within namespace 'google'"
React Native Version
0.72.2
Output of npx react-native info
System:
OS: macOS 13.4.1
CPU: (4) x64 Intel(R) Core(TM) i5-7600K CPU @ 3.80GHz
Memory: 23.88 MB / 24.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.10.0
path: ~/.nvm/versions/node/v18.10.0/bin/node
Yarn:
version: 3.6.1
path: ~/.yarn/bin/yarn
npm:
version: 9.6.7
path: ~/.nvm/versions/node/v18.10.0/bin/npm
Watchman:
version: 2<IP_ADDRESS>
path: /usr/local/bin/watchman
Managers:
CocoaPods:
version: 1.11.3
path: /Users/vlad/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.2
- iOS 16.2
- macOS 13.1
- tvOS 16.1
- watchOS 9.1
Android SDK:
Android NDK: 23.0.7344513-beta4
IDEs:
Android Studio: Flamingo 2022.2.1 Patch 1 Flamingo 2022.2.1 Patch 1
Xcode:
version: 14.2/14C18
path: /usr/bin/xcodebuild
Languages:
Java:
version: 11.0.17
path: /Users/vlad/.jenv/shims/javac
Ruby:
version: 2.7.6
path: /Users/vlad/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.2
wanted: 0.72.2
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Steps to reproduce

Run "RCT_NEW_ARCH_ENABLED=1 bundle exec pod install" and success install pods.
Run "react-native run-ios" or make a build from xCode
Get error "/Users/{user}/IdeaProjects/{project}/ios/Pods/Headers/Public/glog/glog/logging.h:512:1 Import of module 'glog.glog.log_severity' appears within namespace 'google'"

Snack, code example, screenshot, or link to a repository

I can confirm this issue.

Thanks for surfacing!
yeah it seems that it might be caused by this change in that commit by @louiszawadzki
  pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec", :modular_headers => true

I wonder why it doesn't happen with RNTester iOS 🤔 that's what we test the new arch things against.
@radko93 / @endyinthesun can either of you repro with a vanilla/react-native init'd project?

This actually only happened when archiving the build, not running locally.

@kelset I tried to create a new app with "npx react-native init awesome_proj" and got the same result

we've been looking into this and it looks like it's something specific to Xcode 14.2 - on latest Xcode 14.3.1 everything is building fine.
The problem now is that some CIs like GitHub Actions do still default to Xcode 14.2 in their images 😓
Current workarounds:

upgrade your setup / CI to Xcode 14.3.1 (for example, for GitHub Actions macos-13 images are available)
stay on 0.72.1

We'll try to figure out a solution quickly, most likely we'll revert the commit and publish 0.72.3.

@kelset thanks so much for your reply!

I'm getting this issue while build the app, I'm using Xcode 14.3.1, RN version 0.72.2

I'm getting this issue while build the app, I'm using Xcode 14.3.1, RN version 0.72.2, M1 Mac

This is most likely unrelated to the bug raised in this issue that's specific to Xcode 14.2. Please, create a new issue with proper reproduction steps 🙏

Hi 👋
It looks like my first commit to React Native was also my first regression 😅
Totally fine by me to revert my change in the next version until we come up with a better solution, I believe there are way more people still using XCode 14.2 than people using the new architecture in projects with Swift modules.

thanks @louiszawadzki 👍
I'm testing locally that reverting the commit actually addresses the problem, after which I'll do 0.72.3 with the revert and we can look into how to address this more properly next week (once Riccardo is back).
as a sidenote, just so that I stop losing track of this link, Apple's policy is that you need to use Xcode 14.1 or higher atm.

Hey folks 👋
Update: I was able to repro locally that in the 0.72-stable branch even RNTester (on JSC+new arch) was failing to build with this problem:

And I was also able to verify that it was fixed by reverting the commit:

So I went ahead and rolled out a new patch, 0.72.3, with just the revert 👍
I've also created a separate discussion to track how to better avoid having this type of regressions go unnoticed: https://github.com/react-native-community/discussions-and-proposals/discussions/687
and left a comment on the PR https://github.com/facebook/react-native/pull/38121 so that once Riccardo is back next week he has full info on the situation and we can figure out if there's a way to reapply it in a way that it can work with versions lower than 14.3.

@endyinthesun can you just let me know if with 0.72.3 the problem is solved for you too and we can close this?

@kelset yes, it works, thanks =)

@kelset I am using<EMAIL_ADDRESS>and getting this error from GitHub action
import of module 'glog.glog.log_severity' appears within namespace 'google'

#include "glog/log_severity.h"

you can also check GitHub action https://github.com/numandev1/react-native-compressor/actions/runs/6139549466/job/16657563747?pr=176

If anyone comes here because of integrating react-native-google-signin prebuild in Expo , I did it by do NOT prebuild, and just go ahead to run eas build -p ios --profile development , I am using EXPO SDK 50, therefore it picks up proper XCode and do the build without a problem!

Hello, I know is closed but first the things is use Xcode 14.2 because is the last version compatible with the last version of MacBook Monterey (12.7.5) so which version of React Native is the compatible with this one ? or how to fix the pods in case that is the problem...


fix #98

always print full DM5 description
@battjt
WIth this change, the full DM5 info is printed for every DM5 received. We should confirm whether this is the desired behavior before merging.

This was a misunderstanding of the error.


fix(mariadb): Show the mysql config directly

Summary
As part of Shape Up week, we at Virtuoso are aiming to enhance the user experience for MariaDB integration. To achieve this, we are implementing a streamlined process that allows users to directly access the Install flow page, bypassing the intermediary suggestion page.

Pre merge checklist

[x] Did you check you NRQL syntax? - Does it work?
[x] Did you include a Data source and Documentation reference?
[x] Are all documentation links publicly accessible?
[x] Did you check your descriptive content for voice and tone?
[x] Did you check your descriptive content for spelling and grammar errors?
[ ] Did you review your content with a subject matter expert? (e.g. a Browser agent quickstart is reviewed with a member of the Browser Agent team)

Dashboards

[ ] Does the PR contain a screenshot for each of your dashboards?
[ ] Do your screenshots show data?
[ ] Has the sanitization script been run on each dashboard?

Alerts

[ ] Did you check that your alerts actually work?

I have made the necessary changes to the branch. Please review @pkosanam

Hi @NSSPKrishna , as discussed, mariadb datasource is not hosted. Hence you are seeing the below error while running install framework repository in your local.
Datasource list: https://onenr.io/0kjnp9eB6wo

Also, I have explained you that, when a community datasource(datasource which is hosted on quickstart repository) is displayed on "Add data" page, then we see "Begin installation" button.
Here is an example.

community datasource: langchain

On clicking on it, we see "Begin installation" button

Only after clicking on it, we will see the installation flow, which was created on marketplace repository

Hope this description helps.


Add support for optimistic concurrency

DataContext.SubmitChanges() should fail, if there's a newer version of an entity in DynamoDB and/or in cache.

This looks like it could be the answer to https://github.com/scale-tone/linq2dynamodb/issues/21, and something i was looking for as well...
Would you accept PR for this? And if so have you thought yet about how you would like to implement it?

hmmm doesn't look like this will be possible with your current update implementation. At least not if you wanted to leverage built-in dynamodb SDK's support for document versioning.
BatchWrites don't support DynamoDBVersion attributes in batched entities.
Would it be a good idea to internally fork between batched ops and DataContext.Save/Delete depending on whether the document type in question is versioned?

Hi Andy!
You're absolutely welcome to send a PR for that, I'd really appreciate your help!
For the implementation, I'd propose to keep being consistent with AWS Object Persistence Model. We could just start respecting the DynamoDBVersion attribute, in a way that if the entity type does have a property marked with that attribute, we do a conditional update. If no such properties exist in the type - we fall back to existing "last writer wins" implementation.
Yes, BatchWrites do not seem to support conditional expressions or anything. Yes, it makes perfect sense to do multiple parallel PutItem operations with properly configured PutItemOperationConfig.Expected values instead.
What I wouldn't recommend is to try using DynamoDBContext.Save() for implementing this. First, because it would be hard to do (note: in ExecuteUpdateBatchAsync() you only have Documents, not entities). And second, because we generally strive not to build on top of AWS Object Persistence. We can re-use attributes from it (to look consistent) but not utilize it's functionality.

so something like this for use of PutItem?
                table.PutItem(document, new PutItemOperationConfig()
		{
			Expected = new Document(new Dictionary<string, DynamoDBEntry>
			{
                                // In reality, we'd get "VersionNumber" from a previous check for any [Versioned]
                                // members of the original entity (before Document conversion?)
				{ "Version", document["VersionNumber"] }
			})
		});

questions:

Why not use UpdateItem api?
"do multiple parallel PutItem operations": This seems like it needs unpacking.... you mean just an unlimited amount of PutItemAsync calls in parallel and Task.WaitAll the results? Seems like performance and error handling would both be very tough there, no?

Why not use UpdateItem api?

Well, just to be consistent with what BatchWrite operation currently does. It would be confusing, if in one case items are replaced and in other case they're amended.

just an unlimited amount of PutItemAsync calls in parallel and Task.WaitAll the results?
Something like that, except not Task.WaitAll(), but Task.WhenAll().

Seems like performance and error handling would both be very tough there, no?
Well, the performance definitely would be lower compared to what we have with BatchWrite (my experiments show it would be 5-10 times slower). But there's no other options, as we just can't use BatchWrite. Maybe just fine-tuning the task scheduler for those tasks (not in first version obviously).

Error handling should be OK. If any PUT fails, there'll be an exception, and the cache will be cleared. Some items yes, might be written to DynamoDB successfully, but that's the same thing, as we have with BatchWrite now (upon getting an exception the consumer is supposed to implement retries or whatever).

Andy and I work together and I'm helping with this PR.
The PR brings up a few things I want to make sure fit into the design moving forward:

If a CUD operation fails we'll get an AggregateException with a ConditionalCheckFailedException but no detail about the entity for which the check failed. We should probably create our own exception for this.
TableDefinitionWrapper has more complex add/update behavior.. We could probably put the responsibility of generating OperationConfigs in a different class.
We mutate an EntityWrapper's document in the CUD operation. There may be a better way to propagate document changes back to the entity.


Rewrite the adapter using real adapter

Thank you sir, for a good library, though i have some concerns about its performance. You are using strange approach for adapter.
For example in setAdapter() method:
        for (int i = 0; i < mAdapter.getCount(); i++) {
            mAdapter.addView(i);
        }

It's bad cause all views are always in RAM, so it slows the performance dramatically. What if i have about 30 custom views. It will be lagging. Consider creating honest adapter for this purposes.

Hello ,
Have you find any solution for this problem. Please I am facing same issue.

@sailywebvillee no, i didn't, we had different design, so i'm not using this lib. The only way is to write it by yourself or use some other solution


added new option: relativeTo

What:
Added a new relativeTo config option to allow the plugin to be properly applied to directories that are not descendants of process.cwd()

Why:
My team is using this plugin in a monorepo and in order to generate correct ids between projects we need to be able to specific the root directory as the directory that prefixes should be generated relative to.

How:
Added relativeTo config option that is used in the getPrefix function when calculating the relative filename of a file.
Checklist:

[x] Documentation
[x] Tests
[ ] Ready to be merged
[ ] Added myself to contributors table

@pooleparty Great work!

v3.2.0 🚀 https://github.com/akameco/babel-plugin-react-intl-auto/releases/tag/v3.2.0


3.4.0-rc3, no info about pods inside archive

Info doesn't work for workflows in archive

It works only in horisontal mode but partially

And I get this error ater clicking on any artifact

Fixed byt itself


#8843 Clean up request data references

Fix for #8843 Clear Request cancelFunction and deferred references to free up unintentional retained request data memory

Thanks for the pull request @bn-dignitas!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Sorry, I meant to tag @lilleyse since I think he was the one that originally confirmed the issue was request/tile related and knows this area of the code.  Sean?

I should have a chance to review later tonight.

Looks good to me. Nothing to add from what @mramato said. I opened a companion PR to fix this at the Heap/ManagedArray level in case other systems begin to use these files. https://github.com/CesiumGS/cesium/pull/8889
@itsegg could you check if this branch fixes your issue in https://github.com/CesiumGS/cesium/issues/4549#issuecomment-634503841?

@lilleyse
I think it's ok,
I have tested bn-dignitas:8843-fix-request-memory-retention,
My problem can be solved effectively.

Thanks @bn-dignitas!

Updated CHANGES.md in master: https://github.com/CesiumGS/cesium/commit/2abec988e9018ae1754367670f92ead6610c6b30


⚠ Bofrost.be has degraded performance

In c034e19, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1319 ms

Resolved: Bofrost.be performance has improved in 6d7dab3.


reporting a saving error

Error Code
Error: Service Unavailable

Error: Service Unavailable
    at Request.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:80394:21)
    at Emitter.emit (https://homebrewery.naturalcrit.com/homebrew/bundle.js:1966:20)
    at XMLHttpRequest.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:80684:10)
{
  "status": 503,
  "method": "PUT",
  "url": "/api/update/nWt2AlWOgdfg"
}

### Your description of what happened:

the problem is happening with auto saving

Looks like our server is processing a higher load than normal right now. Try again in a couple minutes and teport back if it's still not working.

We have an error page for 503, don't we?

We have an error page for 503, don't we?

If the error occurs during saving, the message appears in a popup instead so users dont get kicked out of their work.


[BUG] Rancher cli kubectl token login fails randomly when kubeconfig-generate-token=false

Rancher Server Setup
Rancher version: 2.6.9
Number of nodes: 3
Node OS version: RHEL7
Describe the bug
Rancher cli kubectl token login fails randomly when kubeconfig-generate-token=false
The customer is unable to provide logs due to their company's security policy
Set LOGLEVEL=debug on the RMS and attempted reproduction steps but did not find any outstanding errors related to this issue.
To Reproduce
(more detailed steps in Jira comments)
Set 'kubeconfig-generate-token=false' on the Rancher Management Server
Delete the current ~/.rancher/cli2.json config file
Attempt to authenticate to the RMS using rancher login https://<RANCHER_SERVER_URL> -t my-secret-token{}
Intermittently receive the following error until authentication succeeds:
"FATA[0017] error logging in: code: [ServerError] message:[Failed to create cluster auth token for cluster [c-m-f6z6hsf5], cluster auth endpoint may fail: timed out waiting for the condition]"
Result
Attempts to authenticate to the RMS using the Rancher CLI intermittently result in the following error:
"FATA[0017] error logging in: code: [ServerError] message:[Failed to create cluster auth token for cluster [c-m-f6z6hsf5], cluster auth endpoint may fail: timed out waiting for the condition]"
Expected Result
Attempts to authenticate to the RMS using the Rancher CLI should succeed consistently
Additional context
See attached strace files taken on the client using the Rancher CLI
SURE-5802
SURE-5796 (related)

Posting the PR template for QA here as this issue was fixed in 2.7-head already, and we couldn't find a PR associated with the fix.
Testing

Create a Rancher 2.7.7-rcX cluster
Enable OpenLDAP in it
Create a downstream RKE2 cluster (Make sure to enable Authorized Endpoint under the Networking tab)
Set "kubeconfig-generate-token" to false in global settings (go to https:///v3/settings/kubeconfig-generate-token hit edit, set the value to false and send the request to update it)
Download the downstream cluster's kubeconfig and verify it by running and kubectl command. It will prompt you to input your auth provider. Select ldap.
Delete the cli configuration located in "~/.rancher/cli2.json"
Attempt to run another kubectl command

Regressions Considerations

Trying this on other providers other than LDAP (what was used in original issue on JIRA) might be good

Any updates on this? We see the same behaviour in our environment using the same configuration as mentioned above, except that we use Rancher version 2.7.6 with kubeconfig-generate-token=true.
I'm willing to share more information if needed.

@PennyScissors has found that this issue was reproducible only prior to this https://github.com/rancher/rancher/pull/42062 getting merged.

@ronhorton Can we test the original issue using these versions

Rancher v2.7.5 using CLI 2.7.0
Rancher v2.7.9(RC) using CLI 2.7.7
Rancher v2.8.0-RC1 using CLI v2.8.0-rc2

Rancher v2.7.5 using CLI 2.7.0: error - FATA[0000] failed to parse kubeconfig token when issuing kubectl commands via CLI; login works
Rancher v2.7.9(RC) using CLI 2.7.7-rc2: no error
Rancher v2.8.0-RC1 using CLI 2.8.0-rc2: no error
Test Steps:

created downstream cluster rke2
enabled openldap
created project and added testuser2 as project member
logged in successfully as testuser2 (from CLI)
listed projects as user

Closing as cannot reproduce.


@ethereum-waffle/provider breaks source maps

Hey 👋
I've received lots of complaints about Buidler lines numbers being off.
I took some time to debug it, and the root of the problem is that @ethereum-waffle/chai loads @ethereum-waffle/provider, which in turn loads ganache-core and breaks the source maps.
I think I can work around this in Buidler, but I'm not sure how to fix it in Waffle v2.
BW, I think this shows how important my proposal #254 is.

I do recommend moving this import into MockProvider's constructor. Doing that would fix this problem for users of Waffle that aren't using the MockProvider.

Interesting. I was wondering what was causing those incorrect line numbers. Gotta extend our eternal love to ganache that has side effects on import. I'll consider moving the import, but as you said it only fixes part of the problem.

This is still an issue. Could you repoen? Releated HH issue: https://github.com/nomiclabs/hardhat/issues/1336
It seems like patches (from patch-package) are not included in npm bundle. I will investigate it further and create PR to fix soon.


Update Repo for Doc Warden Updates

In preparation for updates to DocWarden tool to enforce changelog convention as defined
in ChangeLog Guidiance

Update latest entry in each changelog to follow the convention
Update docsettings.yml

Doc Warden will now function thus
Example Changelog
------------------------------- No latest Entry will block PR and CI
# 12.1.0-preview.1-------- Latest Entry Present will not block PR or CI
------------------------------- Empty Release notes will not block PR but block release
# 12.0.0-preview.4

for rst files
Example Changelog
------------------------------- No latest Entry will block PR and CI
12.1.0-preview.1-------- Latest Entry Present will not block PR or CI
+++++++++++
------------------------------- Empty Release notes will not block PR but block release
12.0.0-preview.4
+++++++++++

Can one of the admins verify this patch?


How to integrate flutter engine to flutter sdk?

I have compiled my own custom engine successfully according to the docs.
Currently, I indicate the path of the compiled host and client engine files in order to use the custom engine.
 flutter run --local-engine=client_xxx --local-engine-host=host_xxx
However, I would like to distribute my custom engine with (custom) flutter sdk to others without making them add extra commands while they are building their apps.
P.s. I read the docs but could not find how to compile flutter SDK itself with a custom engine.
How can I achieve this behaviour?

@II11II
Have you already look at https://github.com/flutter/flutter/wiki/Compiling-the-engine to see if it helps ?

Hi @darshankawar
Yes, I have already taken a look at https://github.com/flutter/flutter/wiki/Compiling-the-engine
And thanks to this link I could compile a custom engine.
But It seems you misunderstood the question
I cannot find the documentation where written how to replace a custom engine in Flutter SDK itself without adding custom parameters   flutter run --local-engine=client_xxx --local-engine-host=host_xxx.
So in other words, the end user will download custom flutter SDK(which uses my custom engine by default) from my own git repository and use it to create apps for platforms

I cannot find the documentation where written how to replace a custom engine in Flutter SDK itself.

The tool doesn't support that. Compiling local engines is a local development workflow. You will have to setup a custom CI workflow to distribute locally built engines.

Compiling local engines is a local development workflow.

It is obvious

You will have to set up a custom CI workflow to distribute locally built engines.

Is there any official doc, on how it is done on the Flutter repository?


halted - allow adding of collateral and payback loan

What would you like to be added:
When a vault is on a halted state, allow users to add collateral and payback loan.
Why is this needed:

Acceptance Criteria: Verify whether Edit Collateral (add /remove) and Payback Loans functions on HALT vault


Removing the RingBufReader and RingBufWriter types

This is really a question more than an issue:
Could we remove the RingBuf Reader and Writer newtypes (and implement Buf and MutBuf directly on RingBuf)? I don't actually understand what purpose they have, apart from disambiguating method names from Buf and MutBuf (but that could be done in other ways).
If we could get rid of them, that would massively improve the ergonomics of RingBuf, at least for my use case. There are two problems that I have with them:

There are about a dozen instances in my code where I have to write something along the lines of let r = buf.reader(); let s = r.bytes(); where I would like to write let s = buf.bytes() instead. (Writing let s = buf.reader().bytes() doesn't work because the returned reader would not live long enough). This is admittedly only a minor annoyance.
More importantly, I have a struct containing a RingBuf and I would like to implement a method returning a slice into that RingBuf. I can't do that, though, since the slice I want to return cannot outlive the RingBufReader that I have to create in that method. This is a bigger problem than the first one, since I don't think I can work around it.

I'd be interested in an explanation of the necessity of the newtypes or any thoughts you have on the subject. If you think we could get rid of them, I'd be happy to do the implementation work.

The answer is yes. Having separate types is a relic of an old limitation that has since been fixed. I would accept a PR that does the work :smile:

Fixed by #5


Problem scroll when dragging on IOS

On my iPad, when I start dragging an element, the scroll is triggered, the use is impossible.
I tried several solutions, like preventDefault on the touchmove event at the beginning of the 'drag: start' event and delete it on the 'drag: stop' event. It does not work.
Can you help me ? :)
Library version: 1.0.0-beta.8
Browsers: [iOS V12.1.1 | Safari]
Tech stack: [JS]

Hello,
Sorry for the late response. If you still need, try the latest Draggable version (v1.0.0-beta.12) with delay options to allow better behavior on touch device:
import { Draggable } from '@shopify/draggable';

const draggable = new Draggable(document.querySelectorAll('ul'), {
  draggable: 'li',
  delay: {
      mouse: 0,
      drag: 0,
      touch: 100,
  }
});

Please reopen if you still encounter this issue 😄
Thank you!