Undo/Redo grouping is not coherent

In the default snippet, select the writeln in
writeln('Hello, world!');

copy it, then move you caret between the n and the (, and paste twice
writelnwritelnwriteln('Hello, world!');

now hit ctrl+z, it takes two ctrl+z to remove the two extra writeln (as expected), but if you now do a redo with ctr+shift+z, both writeln will reappear at the same time

Yes, that happens, if the uoGroupUndo in Undo.Options is set.

Currently uoGroupUndo is more of a uoGroupRedo :)
One solution is to handle the undo grouping at the time of the action, by bundling it into the previous undo entry rather than creating a new one. This way there is a single place in the code where group undo is managed, and the undo/redo methods can be "dumb".
(this requires having entries that are actually chains of entries, for instance by adding a NextItem in TBCEditorUndoItem, and the grouped entries then do not appear as seperate entries in the undo list)

Fixed.


Do you want to migrate the setting you did for terminal (popup started showing from last few version)

I did setup this in my settings.json
 "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
    "terminal.integrated.shellArgs.windows": [
        "-NoLogo",
        "-NoExit",
        "-Command",
        "& { Write-Host }"
    ],

I do this so I can get better space in terminal. Now VS code show me popup to migrate. I click on Migrate and these thing were removed from settings.json
I don't see it work properly after migrating. I have opened the settings.json at that time so I just roll back by ctrl + z.

What was your defaultProfile set to in your settings when that happened?

@meganrogge  How to check it?. Do you mean Stable or insiders or something else?

In insider's, try to reproduce the problem and pls provide me w your terminal settings before and after you migrate

yes

Now I am trying to migrate and it looks like works in a stable version.


offline installation guide updated with new text in top menu

+Offline is replaced with New Offline
see
https://github.com/larshp/abapGit/pull/3590

thanks 👍


where is the source code that is responsible for  loading the 'default.yml' or 'layout.yml' for a theme?

I am using OroLayoutBundle in none oro project ,   I followed the doc quick_start, but the default.yml is not loaded . where is the source code that is responsible for  loading the file ?
Resources/views/layouts/first_theme
default.html.twig
default.yml
theme.yml

the bundle works for I can see the root_widget  rendered
{% block root_widget %}
<!DOCTYPE {{ doctype|default('html') }}>
<html>
    {{ block_widget(block) }}
</html>
{% endblock %}

never mind , I found it myself.


chore: enable h2 for mobile

Issue being fixed or feature implemented
http/2 needs to be enabled for mobile
What was done?
enable http/2 for mobile to continue work with new TLS connections.
How Has This Been Tested?
tested by @HashEngineering
Breaking Changes
None, this fixes things
Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation

For repository code-owners and collaborators only

[ ] I have assigned this pull request to a milestone

Should go to master I suppose

Closed in favor of #1102


[Docs Site] Add TypeScriptExample component

Summary
Adds a TypeScriptExample component which uses detype to turn a TS codeblock into JS & TS tabbed codeblocks, and dedupes all appropriate JS/TS codeblocks with it.

Does this output JSDoc, or is it just type stripping?

Very cool

Superseded by https://github.com/cloudflare/cloudflare-docs/pull/17284/


Add note on subscription changes to DD overview, clean up a couple of…

… other topics related to subscription updates
Added a note on the update to DD terms of use on the DD overview page
Clean up a couple of topics related to subscription updates

LGTM thank you!!


[Feature] Add fallible spawn function for Anvil and Geth bindings

Component
nodes
Describe the feature you would like
add try_spawn functions for
https://github.com/alloy-rs/alloy/blob/61142b3fee367a9aee087d6cfac8e57abaaa2eb2/crates/node-bindings/src/anvil.rs#L216-L216
and
https://github.com/alloy-rs/alloy/blob/61142b3fee367a9aee087d6cfac8e57abaaa2eb2/crates/node-bindings/src/geth.rs#L359-L359
Additional context
No response

@mattsse Can I work on this issue.

@AnmolSirola are you working on this?


Spiff templates for microbosh deployments for aws & openstack & vsphere

@tsaleh any news on this?

Closing - Microbosh has been deprecated for a while. If you're looking for a way to spin up initial directors, bosh-deployment uses v2 CLI functionality to spin up a director, and has templates for AWS, vSphere, OpenStack (and more).


DOC: interpolate: add a note against using triangulation based intrpolators on a regular grid

Reference issue
Attempting to close #17378
What does this implement/fix?
Increases clarity for 4 multivariate interpolation functions.

scipy.interpolate.griddata
scipy.interpolate.LinearNDInterpolator
scipy.interpolate.NearestNDInterpolator
scipy.interpolate.CloughTocher2DInterpolator

Additional information
Some tests failed on my local environment, but I was instructed to send a PR by this message.

Lint failures here are unrelated and due to recent infrastructure changes

Would also be nice to add RegularGridInterpolator and interpn to See Also sections.

My last comment on adding RGI and interpn to see also sections can be addressed in a follow-up; this PR is a clear improvement, so let's merge it as is. Thank you @L-Sandler and congrats with what I believe is your first scipy PR. Keep them coming!


Fix CPU yield with nanosleep

https://github.com/libuv/libuv/issues/2949

This is no longer relevant


Update Python documentation to support Spin SDK 3.1.0 and Componentize-Py 0.13.3

Update all Python code samples, config and working examples to use spin-sdk 3.1.0 and componentize-py 0.13.3. These are the latest releases that have changes to outbound request bodies and better support for composition.

Waiting for https://github.com/fermyon/spin-python-sdk/pull/99


Bump MLFlow to 2.9.1

Describe changes
We are running MLFlow 2.9.1 (patch release from today). Autologging via ZenML pipelines and other MLFlow commands within the pipeline (such as downloading artefacts) work nicely, so I was wondering if we can bump the MLFlow integration to 2.9.1.
Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[x] If my change requires a change to docs, I have updated the documentation accordingly.
[x] If I have added an integration, I have updated the integrations table and the corresponding website section.
[x] I have added tests to cover my changes.
[x] I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Other (add details above)

@safoinme are you taking a look at this?


"All Matches" list is not showing the matches

I am participating in the East Arizona Regional, and I have input the "2015azch" code into the url file. The app is showing the teams competing in the event and is allowing pit scouting, but the All Matches tab has nothing but the search bar and the bar that has "#, Time, Progress, Red Teams, Blue Teams" on it. There is nothing underneath it.
Thank you,
Chris Gomez

Dear Mr. Gomez,
If your regional's actual matches(not practice matches) start on Friday, then the match information from the blue alliance will be updated in the morning of that day. This is because we get our match data from thebluealliance.com and they decide to update their match data on the day that the matches start. Once again, thanks for using morscout!
Best Regards,
Farbod Rafezy


Bug: Play() method fails with most intersection observer thresholds

Overview
https://codepen.io/joewestcott/pen/eYwqMjL
Hi team, there might be a bug with the dotLottie web player, when using intersection observers with a custom threshold value.

You can see a simple recreation of this bug at the Codepen link above.
The animation is supposed to load immediately but not play until at least 50% of the animation is visible.
To create the problem, scroll scroll down beyond 50% of the animation, and look at the browser console messages as you do this.
In most cases, the animation will not play, even though dotLottie reports that isPlaying is true, as seen in the browser console messages.
If you scroll past the animation repeatedly in both directions, eventually it will play. (This code calls play() every time that the animation intersection occurs, so eventually the play() method starts to work.)
Maybe there's some sort of race condition where the play() method isn't available right away?
There's no error message when we call play(), so it's unclear why this method is not working.
...
Consuming repo
https://github.com/LottieFiles/dotlottie-web
...
Labels

[ ] Add the Type: Bug label to this issue.

also investigating why play is not available when the offscreen optimization is applied...

Thank you, @theashraf , for sharing this freezeOnOffscreen option and forking the Codepen to show it in action.
This seems great!
Is there a repo where we can contribute to the web player renderconfig documentation -- https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/api/render-config/ -- to make a PR to add documentation about freezeOnOffscreen and also the autoResize option that I happened to find in a release note but which also doesn't seem to be in the docs yet?
Apart from that, I created this observer to manage play and pause partly because animations didn't seem to be freezing offscreen by default, but maybe I got that wrong or maybe that was a limitation in an older version of the player, so I'll test again, thank you.

@joe-westcott Thank you for your feedback! I've updated the documentation to include details about both the freezeOnOffscreen and autoResize options. I'm also investigating the issue of not handling offscreen animations properly, and will keep you posted on any further improvements. Feel free to check the updated docs.

This is all great! Thank you, @theashraf!


Openstack migrate 3.1.x

Adding OpenStack migrate functionality with documentation in readme

All changes look good, driver version needs to be updated to 3.1.6 it is currently set to 3.1.4 but the master branch is on 3.1.5, likely a layover from working on it previously

I will make sure it gets updated before I merge, there will be another version going once Paul gets his ansible fix.  Maybe we will put the 3 issues in one version which would then be 3.1.6


Add rule copy link buttons

Rule headings could contain a variety of small icons at the end of them for quick copy-pasting into documents, chats, and comments.
I've thought about two specifically for now - the second one of which would be most handy for PRs and GitHub issues.
1. 🔗 - Regular link
This just copies the URL to clipboard and nothing else. One less action compared to now :)
2.  - Markdown link
Copies a Markdown-formatted link to clipboard so you can very easily reference it in e.g. a GitHub issue. This would make it easy to produce meaningful links instead of raw URLs or manual editing.
Some format ideas:
1. [MUST use standard formats for date and time properties [169]](https://opensource.zalando.com/restful-api-guidelines/#169)
2. [MUST use standard formats for date and time properties](https://opensource.zalando.com/restful-api-guidelines/#169)
3. [REST [169] MUST use standard formats for date and time properties](https://opensource.zalando.com/restful-api-guidelines/#169)
4. [RESTful #169](https://opensource.zalando.com/restful-api-guidelines/#169)
5. [REST #169](https://opensource.zalando.com/restful-api-guidelines/#169)

Markdown icon source: https://commons.wikimedia.org/wiki/File:Markdown-mark.svg

Additional idea: At the beginning of each chapter, add an edit link/button pointing to the corresponding .adoc-file on Github.

The second part now got a bit less urgent, as Github now can insert formatted HTML as markdown.


Dishonored return trace number not parsed correctly

ACH Version: latest
What were you trying to do?
Parse a contested dishonored return, e.g.:
101 123456780<PHONE_NUMBER>208061450A094101                       SimBank
5200SimFintech                          123123123 WEBHammerTime      220307<PHONE_NUMBER>000001
621123456780122455799<PHONE_NUMBER>               Bruce Wayne           S<PHONE_NUMBER>310088
799R72123456780000069      75639218<PHONE_NUMBER>000010670112345678000007021868<PHONE_NUMBER>10088
82000000020012345678000000000000000000001560123123123<PHONE_NUMBER>00001
9000001000001000000020012345678000000000000000000001560
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

What did you expect to see?
DishonoredReturnTraceNumber = "123456780000070"
What did you see?
DishonoredReturnTraceNumber = "23456780000070"
How can we reproduce the problem?
Parse the file above in the command line or in-browser tool.
I believe the problem is in Addenda99Contested.Parse() where
Addenda99Contested.DishonoredReturnTraceNumber = record[59:73]
should really be
Addenda99Contested.DishonoredReturnTraceNumber = record[58:73]
The following field (DishonoredReturnSettlementDate) seems to be parsed incorrectly too.

Thanks for the bug report.

A fix has been released. Can you try https://github.com/moov-io/ach/releases/tag/v1.18.6 ?

Looking good, thank you!


Add new Bartholomew Wasm file & sign using GPG

@tpmccallum somehow a larger set of commits is included in the change history here.  Possible to revisit/rebase to include only the commit updating the bartholomew.wasm module?

Hi @vdice
Sorry, I will fix this up ASAP.

Hi,
Ok the single commit which adds the new bartholomew.wasm file has been signed and this is ready for review/merge.
Thanks so much
Tim


NOISSUE - Update Kubernetes setup

Update k8s setup to support InfluxDB services (database, writer, and Grafana).

Codecov Report

Merging #322 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #322   +/-   ##
=======================================
  Coverage   87.37%   87.37%
=======================================
  Files          36       36
  Lines        1339     1339
=======================================
  Hits         1170     1170
  Misses        123      123
  Partials       46       46

Continue to review full report at Codecov.

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


feat: add support to title on iOS

According to Apple's docs the prefered type for alert is a dictionary, tha's why I changed it to have a body field.
And this also allowed me to add a title for the notification, which has support since iOS 8.2.

@rodrigok if the pr doesn't trigger a release one workaround for now would be to commit changes to the CHANGELOG.md - ex.: https://github.com/raix/push/commit/1b75a6921cb6f8cccc336e060105dcd14080d6b3 - It's not ideal - but it would allow you to release.
I'll push forward solving the issue why merge requests are not parsed correctly by semantic-release.


Added the ability to pan to a specific screen (artboard)

Fixes https://github.com/nwittwer/reflex/issues/110


Apply Test Feedback

@tjmehta:
I applied some of the feedback that I had plus some extra stuff for mocha testing with promises.
Additional comments I will post on #12

Need to just PR this into master


RINGO_HOME not detected in macOS 11.2

Beginning with macOS 11.2 I cannot start Ringo without explictly setting RINGO_HOME. It worked before, so my guess is that function find_ringo_home() is not working anymore with zsh / macOS Terminal.
Example:
philipp@PNP-MBP-2 someproject % ringo -v
home /Users/philipp/Code/someproject

This should output home /Users/philipp/Code/ringojs instead, but RINGO_HOME always points to the current working directory.

It's a bug related to Java 11:
~ > java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode)

~ > ringo
... works as expected

~ > jdk 11

~ > java -version
openjdk version "<IP_ADDRESS>" 2020-11-04
OpenJDK Runtime Environment AdoptOpenJDK (build <IP_ADDRESS>+1)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build <IP_ADDRESS>+1, mixed mode)

~ > ringo
Uncaught exception:
java.lang.IllegalArgumentException: Directory '/Users/philipp/lib' does not exist
	at org.ringojs.tools.launcher.RingoClassLoader.addClasspathWildcard(RingoClassLoader.java:65)
	at org.ringojs.tools.launcher.RingoClassLoader.<init>(RingoClassLoader.java:47)
	at org.ringojs.tools.launcher.Main.createClassLoader(Main.java:131)
	at org.ringojs.tools.launcher.Main.<init>(Main.java:51)
	at org.ringojs.tools.launcher.Main.main(Main.java:44)

After some debugging, I see a different output in Main.getRingoHome() Java 11 and Java 8:
Java 8:
Code > ringo -v
Home: /Users/philipp/Code/ringojs / /Users/philipp/Code/ringojs

Java 11:
Code > ringo -v
Home: . / /Users/philipp/Code

The reason are the changes in the classloader hierarchie. In Java 8 the system classloader is an URLClassLoader, but starting with Java 9 this (unspecified) behavior changed.


requestPost requires the title to be non-empty, which sucks for comments

The title is typically an empty string for comments, which does not pass request validation since title is required. This should not be the case, although setting title should not be a problem. It's just not usual.

Sorry to get back to you that late but this has actually been fixed in the last version


Queue reloading in Radio Mode

What version of Music Assistant has the issue?
2.0.0b90
The problem
When the queue is in Radio mode and last item it loops at loading the new songs every time the new ones were loaded.  I'm using YTmusic provider.
https://github.com/music-assistant/hass-music-assistant/assets/60452666/5e4ea953-462e-49ea-a3b6-02affa7655b2
How to reproduce
Activate radio mode
Select last item in the list
Relevant log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2024.1.5
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

What command did you us eto start the queue in the first place ? HA automation or MA frontend ?
It is also strange because in radio mode you shouldnt be able to reach the end as it shouuld keep refilling

We will close this soon due to no followup

It was for the MA frontend. Sorry about the late reply.

Do you have another provider to try? This might be YT specific.

I just reproduced this one and fixed it. Available in the next beta (b139)

confirmed fixed


Configure attributes not to be updated (other than created_(at|on)

Sometimes it makes sense not to update fields, but you still need to set them for new records. You are already doing this for created_(at|on). We have a use case for not updating an additional field.
This would be much easier to implement than different create_atts and update_atts like suggested in
https://github.com/seamusabshere/upsert/issues/17 by passing an option and then using it in here:
  def update_column_definitions
    setter_column_definitions.select { |cd| cd.name !~ CREATED_COL_REGEX }
  end

Does that make sense? Would you integrate such a pull request into your gem?

@jan definitely - i would love for there not to be a static set of cols

@jan @seamusabshere I think that something between these two options would be the most useful solution - something like

Upsert.batch(connection, table, separate_selector_and_setter: true) OR
Upsert.batch(connection, table, ignore_update_fields: %w[list of fields])

which would allow you to enable the functionality as-needed.
I would rather not use a constant (or class level variable) as that's going to cause issues with thread safety.

@seamusabshere , is this feature available now?


Update desktop-report-themes.md

Recommend changing from Power BI report theme generator to just Power BI theme generator, More relevant bing results are returned by removing the word Report from the search terms.

@maggiesMSFT

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks, @MikeCarlo!
#sign-off


S2 Status seems to get lost after a FW update - results in bad re-interview

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
NO, my problem is NOT within Home Assistant or the ZWave JS integration
Is your problem within ZWaveJS2MQTT?
NO, my problem is NOT within ZWaveJS2MQTT
Checklist

[X] I have checked the troubleshooting section and my problem is not described there.

[X] I have read the changelog and my problem was not mentioned there.

Describe the bug
As discussed,
After a FW update, with a device that was enrolled with S2 Authenticated.
the re-interview seems to go wrong.
checking the log myself (this is on behalf of a user) it shows:
2021-09-02T19:58:45.930Z CNTRLR « [Node 009] The node was NOT granted the security class S2_Authenticated
An exclude / include needs to happen for it to start working again.
ZWaveNode.highestSecurityClass() also looses its original value
Device information
Device:
https://devices.zwave-js.io/?jumpTo=0x0371:0x0004:0x00bd:0.0
Node:
9
How are you using node-zwave-js?

[ ] zwavejs2mqtt Docker image (latest)
[ ] zwavejs2mqtt Docker image (dev)
[ ] zwavejs2mqtt Docker manually built (please specify branches)
[ ] ioBroker.zwave2 adapter (please specify version)
[ ] HomeAssistant zwave_js integration  (please specify version)
[ ] pkg
[X] node-red-contrib-zwave-js (please specify version, double click node to find out)
[ ] Manually built from GitHub (please specify branch)
[ ] Other (please describe)

Which branches or versions?
version:
node-zwave-js 8.2.1:
Did you change anything?
yes (please describe)
If yes, what did you change?
Just a FW update
Did this work before?
No, it never worked anywhere
If yes, where did it work?
No response
Attach Driver Logfile
firmware-update.txt.zip

I think this is it:
2021-09-02T19:58:35.450Z DRIVER « [Node 009] [REQ] [BridgeApplicationCommand]
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 208
                                    └─[FirmwareUpdateMetaDataCCStatusReport]
                                        status:    OK_RestartPending
                                        wait time: 30 seconds
2021-09-02T19:58:35.454Z CNTRLR « [Node 009] Firmware update completed with status OK_RestartPending
2021-09-02T19:58:35.456Z CNTRLR   [Node 009] Firmware updated, scheduling interview in 30 ms...

We start the interview while the device is still rebooting.

I (and other users) have done many FW updates, is there a special case for S2?.
or have we always jumped the gun with re-inetrviewing, and its now showing its negative affect under S2 perhaps?

No, the other devices probably didn't need 30 seconds so the interview doesn't time out.

So waitTime should also be honorued  before an interview starts?

It already is. But a by factor of 1000 too short.


Add group function

Closes #2
Hello, this takes the same approach described in the issue by leaning on list.group and then just transforming the values from lists into non empty lists. I also cleaned up a few typos in the docs. I stole the docs from the standard library as well and then just tweaked them to work for this library.

Thank you!!


llama_chat_apply_template best practices?

Description
I was working on some samples using the Stateless Executor, and I kept running into instances where the results were pretty crummy and they'd go off the rails pretty frequently, running until the token length was hit. See this example:

Googling for results, a lot of things talked about better models, throwing more stop words at it or a more precise token length. But I found that the results when using anything through ChatSession seemed to not have this issue. That made me feel like there was something else at play beyond model configuration. Digging in, it seems like ChatSession is using LlamaTemplate which ultimately call llama_chat_apply_template
I added a manual call to LlamaTemplate to the StatelessModeExecute sample, and I immediately started getting better results as well as a stop to the rambling.
while (true)
{
    await foreach (var text in executor.InferAsync(GetWrappedPrompt(prompt), inferenceParams))
    {
        Console.Write(text);
    }
    Console.ForegroundColor = ConsoleColor.Green;
    prompt = Console.ReadLine();
    Console.ForegroundColor = ConsoleColor.White;
}

string GetWrappedPrompt(string input)
{
    var template = new LLamaTemplate(model.NativeHandle)
    {
        AddAssistant = true
    };
    template.Add("system", "I am a helpful bot, specializing in bear names.");
    template.Add("user", input);
    return PromptTemplateTransformer.ToModelPrompt(template);
}

However!
I tried to apply a similiar fix to Instruct mode chat. Originally it started repeating immediately with the opening prompt, showing obvious signs of the same issue.

Applying the fix resolved the original issue, but then it struggled with the chat. I suspect because my fix was getting intermixed with the history but I haven't had a chance to fully dig in, but it did give me cause for my "fix"

i'm not really sure what best practices should be here. I feel like a fix in the guts of the built-in executors would be the move, but honestly I've only been using Llama for a few days so I'm not sure if people are apply these system prompts manually in their code and a fix like that would result in breaking like I saw in the instruct mode chat.
Btw, i'm a maintainer of Spectre.Console, brought a smile to my face to see it.

Btw, i'm a maintainer of Spectre.Console, brought a smile to my face to see it.

I love Spectre.Console, I use it in all my CLI projects these days. Thanks for working on it!

I added a manual call to LlamaTemplate to the StatelessModeExecute sample, and I immediately started getting better results as well as a stop to the rambling.

In general LLMs really rely on the correct prompting format and will see significantly worse results without it.

i'm not really sure what best practices should be here. I feel like a fix in the guts of the built-in executors would be the move

LLamaSharp is in a bit of a weird state at the moment. The high level executors (stateless, instruct, interact) were all built before llama.cpp supported templating and have kind of had it "bolted on" through the ChatSession/LlamaTemplate. There's also the BatchedExecutor that I built a while ago which exposes a much more powerful and lower level API, but it's also much more difficult to use.
My opinion is all of the high level things need a major redesign, building individual executors (which would handle things like templating, sampling and context management for you) on top of the BatchedExecutor as the low level LLM engine. That's not something I have time to do myself at the moment though (I'm spending a lot of my christmas break just keeping up with llama.cpp updates!).
If there are any changes you feel could be made to the StatelessExecutor based on your work (e.g. improving the examples to include your improvements) I'd be very happy to review PRs and work with you on getting that merged :)

Right now for my needs this was my tweak
    /// <summary>
    /// This executor infer the input as one-time job. Previous inputs won't impact on the
    /// response to current input. Has ability to apply system template to prompts.
    /// </summary>
    private class CustomStatelessExecutor : StatelessExecutor
    {
        private readonly LLamaWeights _weights;

        /// <summary>
        /// This executor infer the input as one-time job. Previous inputs won't impact on the
        /// response to current input.
        /// </summary>
        public CustomStatelessExecutor(LLamaWeights weights, IContextParams @params, ILogger? logger = null) : base(weights, @params, logger)
        {
            _weights = weights;
        }

        /// <summary>
        /// Should we apply the default model template to the prompt
        /// </summary>
        public bool ApplyTemplate { get; init; }

        /// <summary>
        /// The system message to use with the prompt. Only used when <see cref="ApplyTemplate" /> is true
        /// </summary>
        public string? SystemMessage { get; init; }

        public new IAsyncEnumerable<string> InferAsync(string prompt, IInferenceParams? inferenceParams = null, CancellationToken cancellationToken = default)
        {
            if (ApplyTemplate)
            {
                var template = new LLamaTemplate(_weights.NativeHandle) { AddAssistant = true };
                if (SystemMessage != null) template.Add("system", SystemMessage);

                template.Add("user", prompt);
                prompt = PromptTemplateTransformer.ToModelPrompt(template);
            }

            return base.InferAsync(prompt, inferenceParams, cancellationToken);

        }
    }
}

Felt like this was the move. Kinda a weird backwards compatibility thing. Don't want to take someone's prompt and automatically apply the template, even though there is like a 99% chance a user probably wants that and doesn't know it yet. We ran into the same issue with interpolated strings and markup with Spectre.Console. We don't escape automatically, and we have a fix, but the fix would silently break any user who was doing things properly without a warning or any evidence until a certain sequence was hit.
I'll take a look at BatchedExecutor. It was a bit over my head when I looked at it originally, but I have a few more evenings of playing around experience now :-)

That seems like a reasonable change, want to PR it?

sure, opened #1025. i'm gonna close this too while I'm at it


Suggested Views

Hello, how exactly do I get suggested views using YouTube-Viewer?

You must use atleast TWO videos to get suggested videos.. you will get suggested views from the video you defined in your urls.txt and search.txt

I have just tried it with 3 urls in the urls.txt and one keyword and one exact title in search.txt
Do I need to create or uses another file other  than search.txt and urls.txt?

No it should be enough

So, I have tried again, but your program either searches for a video or goes to it directly. I don't achieve to get any suggested views, I also don't see the process of it, which usually involves switching the URL of a suggested video with the one you like.
To clarify. I had multiple URLs and used your template: for search (my keyword :::: my exact video title).

You won't see anything special on the browser
In terminal output you should see something like this Tried X | Suggested video loop : X

use version 1.6.2 or earlier

is it possible to not have any suggested views?

use version 1.6.2 or earlier

is it possible to not have any suggested views?

So can we still use the previous version?


Quickhack fix so the artifact actually works

Thanks Andreas, I confirmed that the fix works OK with all web files and share-config-custom.xml now packaged up in META-INF. The whitespace looks a little out now though, please could you take a second to change the tabs to spaces so it is consistent and then I will merge this in?


Include predicates IS NULL and IS NOT NULL in the download script

Currently it is not possible to use the predicates IS NULL and IS NOT NULL in the download script although it is supported by the API. The predicates should be added for the next release.

Duplicate of https://github.com/gbif/pygbif/issues/92


need to remove any pingcap/tidb dependency in this repo

I found that client-go still uses TiDB mockstore and some codes for testing, like https://github.com/tikv/client-go/blob/master/integration_tests/util_test.go#L50
From my side, TiKV is the underlying component of TiDB, so it is very strange to let the TiKV client depend on TiDB's code, even in the test, and I also don't think we must rely on the TiDB's logic to test the TiKV client.
Another risk is that if we heavily use TiDB's mockstore, and client-go's origin mockstore may then lack maintenance. I tried to use client-go's own store instead of TiDB's mockstore below
@@ -83,7 +83,7 @@ type testLockSuite struct {
 }

 func (s *testLockSuite) SetupTest() {
-       s.store = tikv.StoreProbe{KVStore: NewTestUniStore(s.T())}
+       s.store = tikv.StoreProbe{KVStore: NewTestStore(s.T())}
 }

But failed with the following message:
   --- FAIL: TestLock/TestBatchResolveLocks (0.00s)
        lock_test.go:563:
            	Error Trace:	/Users/tangliu/eng/client-go/integration_tests/lock_test.go:563
            	Error:      	Expected nil, but got: not exist
            	Test:       	TestLock/TestBatchResolveLocks
        lock_test.go:564:
            	Error Trace:	/Users/tangliu/eng/client-go/integration_tests/lock_test.go:564
            	Error:      	Should be true
            	Test:       	TestLock/TestBatchResolveLocks
        lock_test.go:566:
            	Error Trace:	/Users/tangliu/eng/client-go/integration_tests/lock_test.go:566
            	Error:      	Expected nil, but got: not exist
            	Test:       	TestLock/TestBatchResolveLocks
        lock_test.go:567:
            	Error Trace:	/Users/tangliu/eng/client-go/integration_tests/lock_test.go:567
            	Error:      	Should be true
            	Test:       	TestLock/TestBatchResolveLocks

I didn't investigate deeply, but my guess is that the mockstore in client-go doesn't support lock TTL very well.
I know removing TiDB's dependency is a very hard work, but we need to consider it now. Let's follow some good engineering practices from now on.
Another thing is now we already have a mockstore in client-go, can we simplify the mockstore code in TiDB too (maybe let TiDB mostly use client-go's code). I still worry that later we may still focus on changing the code in TiDB instead of client-go, especially when we develop Transaction features.
/cc @zhangjinpeng1987

This issue has some historical reasons. In the early days, in order to facilitate local testing of tidb, an mvccleveldb was introduced to simulate storage. Later on, unistore was maintained as a golang implementation of tikv. In 2020, unistore was merged into the tidb repo as mockstore for unit testing and single-process tidb-server storage. Subsequently, client-go's split resulted in its own mockstore branch being opened in the client-go repo separately. However, independent maintenance of client-go still relies on the latest mockstorec maintained in tidb repo, which introduces dependency issues.
This issue may need to be further considered in conjunction with the current situation of the tidb repo, such as whether to separate mockstore or unistore as a separate repo that can be relied upon by both tidb and client-go at the same time and how to ensure that the implementation of mockstore does not differ too much from tikv's implementation.


Position setpoint drift during takeoff

A strange update in the local position setpoint seems to occur during takeoff on a fairly recent branch (few weeks old):
https://review.px4.io/plot_app?log=1d33a68b-c88b-420c-8e8f-4a4382675963
During a mission, The vehicle takes off 4 meters in the air then suddenly changes position. as seen on local position setpoint X/Y. it does resume its takeoff to final altitude.
The position it moved to seems like it is the location where the first home lock occurred.

@dagar @RomanBapst @bresch

Possible cause:
https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_main.cpp#L670-L697
@Stifael

@Stifael our branch did not yet have this one:
https://github.com/PX4/Firmware/blame/55b9f76a162d10976ad2ec79a4efa250b81a03cb/src/modules/mc_pos_control/mc_pos_control_main.cpp#L695-L696
Could that be the cause?

MIS_TAKEOFF_ALT was set to 15. The setpoint takeoff was 60m
Here's another log where i cherry-picked your flight-task reactivate, it indeed did not help.
https://logs.px4.io/plot_app?log=ebb2fcdc-418e-44cb-b42e-8f60340595c8

I tried disabling the vx and vy modifications during takeoff, that seems to make it smoother, but at takeoff it still has a little offset it seems, but no more sudden jerk.
https://logs.px4.io/plot_app?log=bb6cc36f-2797-43c7-9fd7-cfe18ef8cb41

The first log (https://review.px4.io/plot_app?log=1d33a68b-c88b-420c-8e8f-4a4382675963) appears to be the result of initiating mission and then moving the vehicle.
When the mission is first evaluated a TAKEOFF mission item is created at the current location. This is poor navigator behaviour that can be fixed.

@sanderux Can you explain exactly how to reproduce this behavior? I tried various things in SITL but cannot reproduce a large offset like this.
As @dagar  said the takeoff position setpoint is created here as soon as the takeoff mode is activated. So even after a reposition it should use the current position and not the one prior to the reposition.


Lucky remove extra screens

Bryce I'll merge w/o your review, just a courtesy notice

AFAICT the test failure is because of https://github.com/SuffolkLITLab/ALKiln/issues/711


HELPER – ObjectOperations needs to removed form the list. Run-only property is not required from this flow.

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

ID: 9fe69498-a485-5379-97ff-53fbe029f11a
Version Independent ID: 5b3f9705-9e49-1575-4ae7-0293d12b739c
Content: Set up core components - Power Platform
Content Source: power-platform/guidance/coe/setup-core-components.md
Service: power-platform
Sub-service: guidance
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

There has been a recent product change for Power Automate that now sets the run-only users correctly for all flows. We are updating our docs for the January release, and I have fixed this locally for the next docs update now!


Expose the duration of RPS which is sum of the last column Duration

As per discussion:
https://groups.google.com/forum/#!searchin/jmeter-plugins/Throughput$20Shaping$20Timer$20$2F$20enhancements|sort:date/jmeter-plugins/U456alfPNBs/0YnJU0zJAAAJ
Regards
Philippe M.
@philmdot
UbikLoadPack Team

Thanks!

Thanks for merging.
Is there a short term plan to release a version ? thanks

Hi Andrey,
In this case, for now I have no further changes planned.
Regards

Version 2.2 with your changes has been released. Thanks for contributing!


Not working in new Chrome 69

As I can test, plugin didn't work in new version of Chrome (69) on MacOS Mojave.
It is strange, but in "private tab" of MacOS Chrome it (plugin) works.
But, as I suppose, plugin didn't work on Windows in Chrome (I received a letter from a user and I believe he uses Windows).
In new Safari 12 it works.
Personally I tested on Windows 10 in Chrome, and for me plugin works.

how to resolved? i have the save problem

@frontHu I've tested in chrome/firefox/safari on Mac with browserstack and everything works fine at this time.  Is your comment here related to #63?  That appears to be a node issue, not a browser issue.


[BUG] - Trouble renaming results

Describe the bug
When you create more than one optional result in a recipe, wierd things happen. Especially if you try to delete text. It is editing the wrong option.
To Reproduce
Create a second or more Result option. Rename or delete text in the name field. Watch.
Expected behavior
Like it does in Requirements.
Version information

Fabricate version: [e.g. 0.8.1]

This is the strangest bug so far! No idea what will be going on here until I get into it.


[Not sure] Multiple workspaces in one trust domain

Suggested by Tianyuan, maybe we should allow users to add a demux number (such as channel number) for each trust anchor, so that one trust anchor can be used for multiple workspaces.
This will only affect the namespace design. Some discussion is needed.

Abandoned after discussion


Can you upgrade your guide to support django 2.1.*?

@vitorfs
FYI, I liked the complete guide that was written by you.

It was very easy to understand and follow.
I was impressed at your coding standards.

If you can upgrade the docs, it will be very useful for us.
I'm thinking that there might be new features which I'm missing in this guide.
Thanks in advance

@vitorfs if it's okay, I'll just fix all the syntax changes that have occurred.
One thing that I remember is on_delete is not a default attribute for the foreign key.
There is no reply for this issue for the past two years, not sure why.
If you are fine with it, I'll do the change that I can think off and create a pull request.


prompt: fix reverse-search, improve multiline commands support

This patch brings several changes.
In General:
Added:

Support for multi-line commands
Support for tab characters in commands
Integration tests

Redesigned:

Reverse-search feature

Fixed:

Terminal failure after exiting

Please rebase the pull request.

Hi!
There is tt branch, where you can test this implementation of prompt.

ctrl-b stops on current line and does not move backward till beginning of multiline command. ctrl-f does not move forward after a line in multiline command. The same is for Alt-b/Alt-f.
Home/End behavior differs from tarantool/bash - goes to beginning/end of the command (not line), tt connect cursor goes to start/end of the line.
Tab and Ctrl-I does not work if there is no input.
Ctrl-v must tell a prompt to not interpret the following character. Press Ctrl-v and Enter. ^M must be printed. Ctrl-Home print the following: ?[1;5H, but it must work only if ctrl-v was pressed previously (ctrl-v, ctrl-home) and print: ^[[1;5H


Is it possible to disable user signup?

I can't see a way to disable user signup?  As a workaround I've set an absurdly long invitation code but it would be nice to be able to completely disable the ability 🙂

You are right, that is the current "solution", I would not object a PR that improves it 😄


[profile] Listing card UI and copy changes for expired/invalid use cases

Related to support CM contract v2.
Note, assumes this is for a Logged In user.
See figma designs here (expired) and here (invalid).
Detailed requirements

[ ] On public facing profile pages, we do not show listings that are expired or invalid - we use UI magic to only show "Expired" and "Invalid" indicators for logged in users

[ ] On profile page load, add a check to determine if a listing is either Expired or Invalid

[ ] If either check is "yes", add the related badge to the card. Note that the designs only show one of these cases but it is possible for a listing to be both expired and invalid so the implementation needs to support having both badges on the listing card side by side (ensure it works for desktop and mobile)

[ ] Implement a tool tip for the Expired and Invalid badges on the listing cards:

If Expired:

This listing has expired and is currently hidden from the marketplace. Click "Edit" and resubmit the listing.

If Invalid:

This listing has become invalid and is currently hidden from the marketplace. Click "Edit" to delete the listing or change quantity.

[ ] Update the Edit listing modal:

Add an Expiration section and provide number of days and date stamp

If the listing is actually Expired, add the Expired badge and related tool tip (as per on the card)

Add a check and ensure that SUBMIT LISTING button is active if the listing is expired. If expired, the user should be able to submit the listing without requiring a change to quantity or price.

If the listing is invalid (i.e. the Quantity to list is > available tonnes in the wallet) then show this error message:

@jabby09 / @Atmosfearful / @theprofessora I'm just working through this ticket at the minute and have a some questions:

When a user edits a listing we show an "Expiration" date and days remaining - should we always be only showing the number of days i.e. 90 days - no hours/minutes etc..?

If so, when a listing has 89 days, 55 minutes left to expiration for example - what is the expected behaviour here (should we show 89 days or 90 days?)
If a listing has less than 1 day remaining i.e. 55 minutes remaining for example - should we show 0 days?

@jabby09 / @Atmosfearful / @theprofessora I'm just working through this ticket at the minute and have a some questions:

When a user edits a listing we show an "Expiration" date and days remaining - should we always be only showing the number of days i.e. 90 days - no hours/minutes etc..?

If so, when a listing has 89 days, 55 minutes left to expiration for example - what is the expected behaviour here (should we show 89 days or 90 days?)
If a listing has less than 1 day remaining i.e. 55 minutes remaining for example - should we show 0 days?

hey @0xMakka
@Atmosfearful will need to comment on where the time stamp on the listing is coming from, and what date/time format that is in, however, I don't think we need to get too granular here.
So to clarify:

Only showing days, no need for hours or minutes
Q1 would be 89 days
Q2 would be < 1 day

@jabby09 / @Atmosfearful / @theprofessora I'm just working through this ticket at the minute and have a some questions:

When a user edits a listing we show an "Expiration" date and days remaining - should we always be only showing the number of days i.e. 90 days - no hours/minutes etc..?

If so, when a listing has 89 days, 55 minutes left to expiration for example - what is the expected behaviour here (should we show 89 days or 90 days?)
If a listing has less than 1 day remaining i.e. 55 minutes remaining for example - should we show 0 days?

hey @0xMakka
@Atmosfearful will need to comment on where the time stamp on the listing is coming from, and what date/time format that is in, however, I don't think we need to get too granular here.
So to clarify:

Only showing days, no need for hours or minutes
Q1 would be 89 days
Q2 would be < 1 day

Thanks @jabby09, yep that makes sense, just wanted to make sure before I started the work on the date formatting. 👍

The modal should always show the future date of expiration, which at the moment is always 90 days. I hopped into Makkas PR https://github.com/KlimaDAO/klimadao/pull/1635 and added this. This pr can be closed when https://github.com/KlimaDAO/klimadao/pull/1635 is merged


NPE in run() method of GifImageView

Just had a crash in our app due to an NPE in the run() method of GifImageView.
Stack trace:
java.lang.NullPointerException: Attempt to invoke virtual method 'int com.felipecsl.gifimageview.library.GifDecoder.getFrameCount()' on a null object reference
	at com.felipecsl.gifimageview.library.GifImageView.void run()(GifImageView.java:130)
	at java.lang.Thread.run(Thread.java:818)

Having a look at the code, I think it's possible that this is a threading problem. I think it's possible to NPE if the following scenario occurs:

startAnimation() is called, so run() is called in a new thread.
run() finds that shouldClear is false.
clear() is called on the main thread, so the cleanupRunnable is run almost immediately, setting gifDecoder to null.
The animation thread calls gifDecoder.getFrameCount().

This seems to be a similar issue to #5.

I don't think it will fix the problem, but making the animating and shouldClear fields of the GifImageView class volatile should reduce the chances of NPE's happening, see the java tutorial on Atomic Access.

@ianjoneill How did you get around this?
@felipecsl Any update on this?

I never came up with a reliable test-case (I've only ever seen the crash once), but as I mentioned in my previous comment, I think marking the animating and shouldClear fields as volatile should help.

@ianjoneill Yes but after applying your fix, have you received this exception again?

Unfortunately I never got around to trying it out.

I've gotten around this by cleaning up directly in the thread where the run method is executing.  There's not a good reason that I can see for the cleanup to happen in the main UI thread.  I was able to easily produce this issue, by using gifImageView in a ViewPager, and cycling rapidly forward and backward.
The problem is that since the cleanup happens in another thread, the initial condition:
if (!animating && !renderFrame) {
        break;
      }

does not actually trigger the break, but then the cleanup runs in another thread, and sets gifDecoder to null.
I also remove the "tmpBitmap" variable as well, and replaced it with an inline anonymous runnable,
as it removes another race condition:
Bitmap bitmap = gifDecoder.getNextFrame();
        if (frameCallback != null) {
          bitmap = frameCallback.onFrameAvailable(bitmap);
        }
        final Bitmap tmpBitmap = bitmap;
        frameDecodeTime = (System.nanoTime() - before) / 1000000;
        handler.post(new Runnable() {
          @Override
          public void run() {
              if (tmpBitmap != null && !tmpBitmap.isRecycled()) {
                  setImageBitmap(tmpBitmap);
              }
          }
        });


[hnswlib] backport CMake targets

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Upstream added CMake targets in develop branch, backport these changes to have CMake targets available in vcpkg.
Here are the changes between 0.7.0 release and the downloaded commit from develop branch:
https://github.com/nmslib/hnswlib/compare/v0.7.0..dccd4f98acb9da404b7439606a97c4e3077a8d44
The changes (except that CMake targets are added) should be absolutely minimal and not change any library behaviour, therefore I did not change the version.

Note: I will be converting your PR to draft status. When you respond, please revert to "ready for review". That way, I can be aware that you've responded since you can't modify the tags.

Tested usage on x64-windows, no feature needs to test.


[Streetcode Page] Error with text displaying on streetocode page with terms

Environment: any
Reproducible: always
Preconditions
To reproduce this bug you have to create streetcode with text and related terms in it
Steps to reproduce

Go to admin panel
Add text to streetcode
Add related term in it
save text
open streetocode page

Actual result
before related word there is the text moves to a new line
Expected result
the text should be displayed as the user typed it so that it does not break on a new line due to a related word

when creating a new streetcode and linking terms to text, the terms are transferred from the paragraph. Link to the streetcode that I created: http://<IP_ADDRESS>/admin-panel/dariaa-antonenko


To deprecate or Not: what information is useful for a dashboard

Raising this issue as ipfs/project-repos has not got a lot of attention and not a lot of usage so far. We should decide if we want to improve it enough to become useful, or deprecate it instead.
First question to solve is what information we want to get from a project-wide dashboard. Currently, the website is showing the following columns:

TravisCI status (will soon be deprecated)
CircleCI status (will soon be deprecated)
That readme exists
That readme has more than 500 characters
LICENSE exists
PATENTS exists
README has the following sections:

ToC
Install
Usage
Contribute
License
TODO
Banners:

Travis
CircleCI
Made By
Project
IRC

Number of Github stars
Number of Github issues

I argue that most of this columns are not needed for daily inspection. Probably the ones that are useful right now is the current CI status, but that's coming from my need of investigating the CI health in general.
Is there any columns from the exist list that are actually useful to see day-to-day?
ipfs/js-ipfs has a "packages" list (https://github.com/ipfs/js-ipfs#packages) that shows the following:

Version
State of dependencies (up-to-date or outdated)
Different status on CIs
Current Code Coverage

Integrating those columns into project-repos would be useful.
Are there other metrics/checks that are useful to see on a regular basis?

When I'm checking in on a project, I've often valued getting quick impressions of how much work is "in flight", because that affects how I'll plan and who I'll communicate with when considering larger refactors or other changes likely to generate conflicts (e.g. upgrading dependencies).  Thus, some quick scores for "how many PRs are open?  How many branches?  How far diverged?" would be really awesome.
This is roughly the same as what git branch -vv can also tell you, but having it tersely available for a whole array of repos is nice.
A stateful service could also provide updates on when these things last changed.  (Or, possibly this could just be done with git author time, or similar indicator.)  This is useful in assessing overall health questions like "is there a lot of work 'in progress'?" and also "is there a lot of work that was in progress but is unmerged and now getting stale?"
A particularly advanced form of the "how should I plan for changes likely to make conflicts" would be examining actual diffstats and possibly even doing trial rebases/merges to see if they're going to generate conflicts.  Knowing when a branch is high-impact is really helpful.  This (especially trial rebases) takes a fair amount more compute effort to check, but as a proof of possibility Github also does some of this work internally (the buttons for "merge" on PRs do roughly this).  Getting that info in a dashboard overview of branches (especially if we can then do summary counts e.g. "how many branches weigh over $X lines of diff", "how many branches conflict"), even though it's some work to  implement the who "try the rebase" ourselves, seems like it would be super useful.
Some of these things are relatively high-effort, but, they're also all project/repo/language agnostic (as long as "repo" is implemented by "git"), so IMHO the payoff is there, and it could make sense to make these stats uniformly available for every project in a dashboard.

I argue that most of this columns are not needed for daily inspection. Probably the ones that are useful right now is the current CI status, but that's coming from my need of investigating the CI health in general.

Is there any columns from the exist list that are actually useful to see day-to-
day?

As far as I know, daily inspection wasn't the goal of project-dashboards. It was for routine inspection on the level of documentation. If you want daily inspection, this tool should be forked and most of the fields removed as irrelevant.


Client performance issue

The ClientHandler class currently has two nested for loops, these are unnecessary and should be replace with pre calculated mappings like the ones the server uses for its parameter processors.

Done.


Does high availablity rancher installation just support rke created cluster?

Does high availablity rancher installation just support rke based cluster?
I cannot install HA Rancher by helm  successfully on a kubeadm created cluster.

Yes, for Rancher 2.0 - Rancher 2.3
In Rancher 2.4, you can use k3s to install Rancher HA


E-O Sort/Filter: Revise Wireframes

Tasks

[x] Revise wireframes for the hourly emissions sort/filter section of EASEY-Out
[ ] Review wireframes with EPA

Design Assets

EASEY-Out Filter/Sort Wireframes v 1.3
EASEY-Out Filter/Sort Wireframes v 1.3 (alt)
EASEY-Out Filter/Sort Wireframes v 1.2

Stakeholders:
@tlageman-epa
@JorjaComer
@MoAdeyoju

@tlageman-epa — Thanks for your feedback from last week. The wireframes have been modified and a new alternate view has been created that flows the data preview just under the form. Links are in the ticket description.
Best,
Alex

@tlageman-epa — Thanks for your feedback from last week. The wireframes have been modified and a new alternate view has been created that flows the data preview just under the form. Links are in the ticket description.
Best,
Alex

@cvp-alexrobinson following up from UX weekly. Here is the additional feedback. Let me know if you have any follow ups. Thanks!

Data query limit/indicator: As discussed, we won't be able to let users download as much data as they want because it will be too much data. While we haven't determined the specific limit yet, we need to have a way of indicating to the status of the user's inputted request. That way they aren't inputting all their criteria, hitting preview and encountering an error that tells them "too much". So, please propose a way of indicating the "status" of the data request so that users know up front if they need to apply more filters, and/or that they may need to visit the static datasets to get larger data downloads.
"Daily Datasets" label: Please just call it "Datasets" for now.
Optional Criteria: Please add an optional indicator to the remaining filter criteria, like you did for the required fields.
Program: Please add add the criterion "Program". While this was not in the prototype requirements it will be in the MVP, and Ming would like to see this in the wireframe. This dropdown should allow for a user to pick multiple programs, and default to all programs.

@cvp-alexrobinson following up from UX weekly. Here is the additional feedback. Let me know if you have any follow ups. Thanks!

Data query limit/indicator: As discussed, we won't be able to let users download as much data as they want because it will be too much data. While we haven't determined the specific limit yet, we need to have a way of indicating to the status of the user's inputted request. That way they aren't inputting all their criteria, hitting preview and encountering an error that tells them "too much". So, please propose a way of indicating the "status" of the data request so that users know up front if they need to apply more filters, and/or that they may need to visit the static datasets to get larger data downloads.
"Daily Datasets" label: Please just call it "Datasets" for now.
Optional Criteria: Please add an optional indicator to the remaining filter criteria, like you did for the required fields.
Program: Please add add the criterion "Program". While this was not in the prototype requirements it will be in the MVP, and Ming would like to see this in the wireframe. This dropdown should allow for a user to pick multiple programs, and default to all programs.

Thanks, @tlageman-epa!

Thanks, @tlageman-epa!

@jwhitehead77 I am curious on your thoughts re: the Data Query limit indicator in my comment above, and how technically feasible that will be. Is what I described clear to you? Please let me know if you need me to clarify and we can hop on the phone. Thanks!

@jwhitehead77 I am curious on your thoughts re: the Data Query limit indicator in my comment above, and how technically feasible that will be. Is what I described clear to you? Please let me know if you need me to clarify and we can hop on the phone. Thanks!

@cvp-alexrobinson
Hey Alex, just heard from Jeremy that we'd want to know if users would find it useful to select for a specific emissions pollutant (apparently that's been heard in the past) Essentially, under Hourly Emissions there would be three sub-options for the pollutants (SO2, NOx, CO2) and if the user selected it, they would get a filtered set of data columns specific to that pollutant in the preview. If they just selected Hourly emissions, they'd get all as they do now. Could you please add in those three pollutant options under the Hourly Emissions dataset option in the wireframe? Thanks and let me know if you have any questions.

@cvp-alexrobinson
Hey Alex, just heard from Jeremy that we'd want to know if users would find it useful to select for a specific emissions pollutant (apparently that's been heard in the past) Essentially, under Hourly Emissions there would be three sub-options for the pollutants (SO2, NOx, CO2) and if the user selected it, they would get a filtered set of data columns specific to that pollutant in the preview. If they just selected Hourly emissions, they'd get all as they do now. Could you please add in those three pollutant options under the Hourly Emissions dataset option in the wireframe? Thanks and let me know if you have any questions.

@cvp-alexrobinson
Per our discussion, Adobe XD lacks the capability for the user to fully interact with the wireframe. Therefore, we want the following scenarios to be included for the interviewees to be taken thru whether by stepping thru different frames (images) or walking them thru the limited interactivity of the filter criteria that we have already seen (i.e. user clicks on a field and it updates with predefined criteria).

Scenario: User wants to retrieve all hourly emissions data for a single facility for a given year.
a.	The user selects one year of hourly emissions data
b.	Then they pick one facility.
c.	The state field auto-updates with the respective state
d.	The user then previews the data and it executes successfully.

Scenario: User wants to retrieve all hourly emissions data for a single state for a given year.
a.	The user selects one year of hourly emissions data
b.	Then they skip the facility field and pick one state
c.	The facility field auto-updates with the respective facilities
d.	The user tries to preview the data but a message pops up saying: “You have requested too large of a dataset, please refine your criteria or visit the static datasets for larger data downloads”
e.	We ask user how they would handle this, would they refine, split up requests, go to static datasets, other?

Scenario: User wants to retrieve all hourly emissions data for all states and facilities for a given year.
a.	The user selects one year of hourly emissions data
b.	Then they pick all states or all facilities and hits preview and receives the same message as in 2a (no selection in states/facilities would also achieve this – so we will also assess if “no selection means select all” is an intuitive concept or not)
c.	Same questions as 2e

A screen that shows a dynamic request size indicator that would update as the user picked their criteria. (We recognize there will be coding/other concerns behind this as already shared, but we'd still like to provide this to users to get their feedback)
a.	This would just be a couple of images of the wireframe with the status indicator in different states based on the data selection (i.e. using the scenarios above to represent a passing and a failing request)

Please take the liberty to propose your idea of what that dynamic status indicator might look like in the wireframe/image, whether it is a file size, number of records, or something else.
Lastly, I know we had taken out the "All" checkboxes for the unit characteristics, but we'd like to see an option like this for the Facility and States dropdowns in one of the scenarios to see how users react. In this case, the default value in the field for states, for example, is not blank but actually shows the "All States" box like in the unit Characteristics for "All Boilers". The dropdown would have an option for "All states" that is pinned to the top of the search results in case a user decides to re-toggle that option. So one of the scenarios above should have this all types for facility/states this way, while the others maintain the blank field default = all states/facilities. Hopefully, that makes sense. If not, can try to clarify Monday after the other changes.

@cvp-alexrobinson
Per our discussion, Adobe XD lacks the capability for the user to fully interact with the wireframe. Therefore, we want the following scenarios to be included for the interviewees to be taken thru whether by stepping thru different frames (images) or walking them thru the limited interactivity of the filter criteria that we have already seen (i.e. user clicks on a field and it updates with predefined criteria).

Scenario: User wants to retrieve all hourly emissions data for a single facility for a given year.
a.	The user selects one year of hourly emissions data
b.	Then they pick one facility.
c.	The state field auto-updates with the respective state
d.	The user then previews the data and it executes successfully.

Scenario: User wants to retrieve all hourly emissions data for a single state for a given year.
a.	The user selects one year of hourly emissions data
b.	Then they skip the facility field and pick one state
c.	The facility field auto-updates with the respective facilities
d.	The user tries to preview the data but a message pops up saying: “You have requested too large of a dataset, please refine your criteria or visit the static datasets for larger data downloads”
e.	We ask user how they would handle this, would they refine, split up requests, go to static datasets, other?

Scenario: User wants to retrieve all hourly emissions data for all states and facilities for a given year.
a.	The user selects one year of hourly emissions data
b.	Then they pick all states or all facilities and hits preview and receives the same message as in 2a (no selection in states/facilities would also achieve this – so we will also assess if “no selection means select all” is an intuitive concept or not)
c.	Same questions as 2e

A screen that shows a dynamic request size indicator that would update as the user picked their criteria. (We recognize there will be coding/other concerns behind this as already shared, but we'd still like to provide this to users to get their feedback)
a.	This would just be a couple of images of the wireframe with the status indicator in different states based on the data selection (i.e. using the scenarios above to represent a passing and a failing request)

Please take the liberty to propose your idea of what that dynamic status indicator might look like in the wireframe/image, whether it is a file size, number of records, or something else.
Lastly, I know we had taken out the "All" checkboxes for the unit characteristics, but we'd like to see an option like this for the Facility and States dropdowns in one of the scenarios to see how users react. In this case, the default value in the field for states, for example, is not blank but actually shows the "All States" box like in the unit Characteristics for "All Boilers". The dropdown would have an option for "All states" that is pinned to the top of the search results in case a user decides to re-toggle that option. So one of the scenarios above should have this all types for facility/states this way, while the others maintain the blank field default = all states/facilities. Hopefully, that makes sense. If not, can try to clarify Monday after the other changes.

@cvp-alexrobinson @tlageman-epa @areighar
Alex,
Below are actions/changes for the hourly emissions wireframes we captured from our meeting Friday. We ideally would like the wireframe updates by the end of day Tuesday so EPA can check Wednesday morning before refinement (2/24).
If you have any questions, please let us know.
Action Items to Decide on Further Changes
•	Need to have a larger conversation with Mike/Jason/Travis what our “cap” is going to be for downloading data.
•	Alex will talk to Anthony about 508 compliance of current wireframe and proposed changes.
•	Andrew is working on gathering ideas for helper text.
Changes to Be Made
•	“Data On-Demand" will be called “Custom Data Download”
•	“Dataset” field will be called “Data Type”
•	Make Data Type the only field that shows up upon arrival to page, which ensures this required field will be the first one to be modified, which then triggers the reveal of all remaining categories associated with Data Type selected.
•	Remove MATS as an option under “Data Type”
•	Add scroll bars to all applicable fields.
•	Instead of auto population when a state is selected, we’d like to see the facilities field display, for example, “4 facilities selected” and vice versa with states.
•	On the dropdowns for facilities and states, we like how the user must begin typing before seeing options. We’d like to have a cap on what is scrollable for the facilities field when the user begins typing. Our idea of this cap being the number of facilities of the state that has the most facilities to actually be scrollable. This is to avoid having to scroll through hundreds of options.
•	Query gauge can be removed, instead focusing on the graying out of the preview/download button plus helper text to indicate if a query is too large.
•	Have data preview feature first 100 rows with helper text that indicates this, as well as showing the file size of the query, and number of rows.

@cvp-alexrobinson
Hey Alex, just as a reminder, please update the pop-up warning message.
New text -
Your custom data query is too large.
Try using additional filters or visit the Datasets page for larger data downloads.
Thanks!

@kstetsyuk @tlageman-epa — Here's a look at what the Data Type would look like as a modal. Any red flags?

@tlageman-epa Here's the XD design link I'm currently working on...
EPA CAMPD Live Design Link

@kstetsyuk @tlageman-epa The latest...
https://xd.adobe.com/view/f4e20f96-ae68-414b-9325-a22d386aad98-a1b1/?fullscreen

@kstetsyuk @tlageman-epa — Still noodling around with the screens after the CDD data type picker, so it doesn't go any further.
https://xd.adobe.com/view/f4e20f96-ae68-414b-9325-a22d386aad98-a1b1/

@kstetsyuk @tlageman-epa — Here's the rough prototype for the new landing to filter flow. I understand that there are conversations that we need to have about the data type and data subtype flows but I just wanted to share a work in progress.
https://xd.adobe.com/view/f4e20f96-ae68-414b-9325-a22d386aad98-a1b1/

@kstetsyuk @tlageman-epa — Here are draft wire links to two mobile breakdowns. I think I'm going to make these a little more compact than they actually are, still a work in progress.
Mobile - Desktop - Min

This is the smallest desktop width for the USWDS framework.
Menu folds up, data type and filter are separate panels triggered by new buttons.

Mobile - Tablet - Min

This is the smallest tablet width for the USWDS framework.
Title shrinks, menu folds up, data type and filter are separate panels triggered by new buttons.

Here's the proposed language for devices smaller than the tablet minimum width.
This tool allows users to create custom queries of emissions, allowance, compliance and/or facility information. This tool is only accessible using desktop and tablet devices.
No functionality will be accessible beyond the intro page.

@kstetsyuk @tlageman-epa — Building out filter panels. Currently adding Unit Types.

@kstetsyuk @tlageman-epa — New links in the description.

@kstetsyuk @tlageman-epa — Prototype

This should take you to Emissions, Hourly emissions with a top-level view of the panels.
This also takes you into both Allowance, Holdings UXR scenarios
It's still pretty guided, but kick the tires a bit.
I even added some keyboard controls.

@kstetsyuk @tlageman-epa — The data preview tables now match the filters in both scenarios.
https://xd.adobe.com/view/129b1991-bd2b-475f-8f90-8e14d430c2ff-47c8/screen/805a95a3-d834-4979-8795-74628476c219

@tlageman-epa @kstetsyuk @staceyrenner — Here's the latest prototype link. I was able to get all of those changes implemented. Let's do a little internal testing, walking through the scenarios on different machines and browsers. Please log any issues here in this ticket.

@cvp-alexrobinson
Thanks! I've gotten (so has Travis) a blank screen at random points (more consistently at the data subtype selection for emissions and the facilities filter for allowances), but after refreshing and closing out some things on my machine, that seemed to help. However, I am still getting a blank screen when trying to click the facilities filter for allowances.
Overall, it looks great! Thanks for updates!

@cvp-alexrobinson
Was able to get passed facilities by refreshing some, but the typing in the vintage years filter is not working for me.

@kstetsyuk — Trying to republish to see if that helps.


Create proper help / readme files

[x] Create proper documentation on what this module can do, and provide examples
[x] Setup some preset buttons for some different use cases

Can this issue be closed?

yes


[7.x] Improve tests for Blueprint foreignId()

This improves the tests that I just wrote in #30489 to make sure ->foreignId() can be chained as shown and generate the correct schema.
$table->foreignId('company_id')->constrain();
$table->foreignId('team_id')->references('id')->on('teams');

Thanks for these @fitztrev 👍


fix issue with psql and mixing single / double quotes

When saving tables in postgres we are hitting a problem with tables that contain apostrophes.  See url05[56], the Boston Police Potrolmen's Association, or url05[159], O'Niell and Associates

Fixed by correcting my psycopg2 execute statements


Sometimes a scene needs to be reloaded before you can edit / reset properties after adding a new node.

Steps to reproduce:

Create a new scene with a FSM or BT
Add a node (for example the print leaf) via the UI
Edit the exported property.

This problem doesn't exist when using the normal way to add nodes.

@SirPigeonz can you try to reproduce this, if you got some free time?

@ThePat02
Main or 2.0?

@ThePat02 I tested it and I found few detials:
You don't have to restart the scene, it's enouigh that you will add with normal method the same node somewhere then they fix...
After fixing it this way all new nodes of the same type and different type added with UI work xD

That's what I found too. Very annoying

Someone on the discord suggested, that this could be either not having assigned default values or not notifying the editor that property have changed. Will look into it later today.

Someone on the discord suggested, that this could be either not having assigned default values or not notifying the editor that property have changed. Will look into it later today.

Didn't fix it...


Inconsistent behavior of 'update' and '(association)_attributes=' methods with 'accepts_nested_attributes_for'

I encounter problems with either embedded_many or embedded_one and accepts_nested_attributes_for on next environment:

Mongoid 4.0.0
Rails either 4.1 or 4.2.

Problem
update method on Mongoid document with accepts_nested_attributes_for doesn't delete _destroy relations and doesn't call reject_if method, but updates fields and create new models when attributes passed as hash.
Methods (association)_attributes= work correctly - they update field, delete _destroy models and add new ones.
I have created gist demonstrating problem:
https://gist.github.com/ales-vilchytski/b462cd8e2ff607fccd44
Expected result
It would be great to have similar behavior for both methods.
What I've found:
In short, accepts_nested_attributes_for sets options only for generated (association)_attributes= methods by closuring passed object, but this object isn't saved in any other place.
https://github.com/mongoid/mongoid/blob/v4.0.0/lib/mongoid/attributes/nested.rb#L54
But update using Mongoid::Attributes::Processing at some moment passes empty hash as options (then attribute builders doesn't take into account real allow_destroy and reject_if options):
https://github.com/mongoid/mongoid/blob/v4.0.0/lib/mongoid/attributes/processing.rb#L139

same issue
can not delete from _destroy

Hi @ales-vilchytski
Thanks for your thorough report. I've tested the code you provided and found that the only method that doesn't work in your gist is #delete_by_update ; however, if you change the key "embeds" to "embeds_attributes", then it works. Can you change the key in each of your methods to embeds_attributes and see if they all succeed?
Thanks
Emily

Hello @estolfo !
I just updated gist (https://gist.github.com/ales-vilchytski/b462cd8e2ff607fccd44) and checked it as a standalone app (I used to run it from Rails earlier...).
So, you're right - embeds_attributes works well in all cases.
But  I want to say, that this approach is not handy, especially in Rails with SPA (e.g. Backbone + Marionette). Front exchanges with server by JSON presentation of model and main problem that <field>_attributes keys passed to update doesn't comply with usual JSON presentation of models.
For example, in one real app there were up to 5 levels of nesting and I finally needed to write something like that (pseudocode):
if params_has_nested_attributes?(attributes)
  document.nested_attributes = attributes
else
 document.update(attributes)
end

I see what you're saying. I think the change would be non trivial so we'll keep it in mind but feel free to try implementing it in a PR.
I'm going to close the issue because it's not a bug.


Field extra functions

Would anybody like to help me? Please, merge it into 1.4 branch and pull it on packagist.org!
Thank you!

Merged, thanks!


POC to handle P/Z changes using REMOTE_CLUSTER_ARCH env variable

Description
This PR intends to submit a POC to handle power & z architecture specific changes in the groovy test code using an environment variable.
Changes are verified manually using ./gradlew test --tests=TestName

/test gke-postgres-upgrade-tests

/test openshift-newest-qa-e2e-tests
/test gke-qa-e2e-tests

Hi @robbycochran cc @gavin-stackrox review comments are incorporated & test execution is complete. kindly check & do the needful.

Hi @gavin-stackrox  the openshift-newest-qa-e2e-tests failed, but the failure doesn't seem to be related to test execution & seems flaky.
Let me know if I should re-run the tests OR if the PR is good to be merged.

Can you also add a default value entry for x86_64 in the DEFAULT_VALUES array in Env.groovy

@robbycochran  can you kindly mark this as resolved?


Persist Developer Options between app restarts and updates

Steps to Reproduce
Open the app and enable developer options.
Set the environment to TEST
Close the app and reopen (close it, not just background)
Go to the Settings/Developer Options again
Result
Environment is reset to Production.

Expected Result
The developer options would be permanently set until the user changes them, even when closing and reopening, or even installing a new version over an old version.
Workaround
If you want to be in an environment other than Production, you will have to go in and set that environment every time you reopen the app.
Environment
This was tested on iOS multiple devices and OSs.
Priority (Business Impact)
Low
Severity (Application Impact)
Meduim
Solution
(To be entered by the developer who fixed this)

Verified in build 743 on Android and iOS.


feat: Add list-all-pkgs option

Add list-all-pkgs option for https://github.com/aquasecurity/trivy-action/issues/86

Add list-all-pkgs usage to README
Add list-all-pkgs option to action.yaml and entrypoint.sh

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


BottomNavigatorBar widget has problem with Color property

BottomNavigationBar widget in flutter has a color problem where if I apply backgroundColor to BottomNavigationBar it does not change color but when I apply color to the first item in the list of BottomNavigationBar widgets, the whole bottom navigation bar changes color.
Steps to Reproduce.
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';

class BottomNavigationBarWidget extends StatefulWidget {
  BottomNavigationBarWidget({@required this.selectedIndex});
  int selectedIndex;

  @override
  _BottomNavigationBarWidgetState createState() =>
      _BottomNavigationBarWidgetState();
}

class _BottomNavigationBarWidgetState extends State<BottomNavigationBarWidget> {
  @override
  Widget build(BuildContext context) {
    return BottomNavigationBar(
      // selectedItemColor: Colors.grey,
      // unselectedItemColor: Colors.blue,
      onTap: (value) {
        setState(() {
          widget.selectedIndex = value;
        });
      },
      currentIndex: widget.selectedIndex,
      items: [
        BottomNavigationBarItem(
          icon: FaIcon(
            FontAwesomeIcons.home
          ),
          label: "HomeScreen",
          // activeIcon: FaIcon(
          //   FontAwesomeIcons.home,
          //   size: 22,
          //   color: Colors.blue,
          // ),
        ),
        BottomNavigationBarItem(
          icon: FaIcon(
              FontAwesomeIcons.calendar
          ),
          label: "Calender",
          // activeIcon: FaIcon(
          //   FontAwesomeIcons.calendar,
          //   size: 22,
          //   color: Colors.blue,
          // ),
        ),
        BottomNavigationBarItem(
          icon: Icon(Icons.bar_chart),
          label: "Stats",
          // activeIcon: FaIcon(
          //   Icons.bar_chart,
          //   size: 22,
          //   color: Colors.blue,
          // ),
        ),
        BottomNavigationBarItem(
          icon: FaIcon(
              FontAwesomeIcons.cog
          ),
          label: "Settings",
          // activeIcon: FaIcon(
          //   FontAwesomeIcons.cog,
          //   size: 22,
          //   color: Colors.blue,
          // ),
        ),
      ],
    );
  }
}

Just put this code in any file and call the widget with any index from 0,1,2,3.
Apply backgroundColor to BottomNavigationBar().
The color of the whole bar should change BUT IT DOES NOT CHANGE COLOR,
Now apply backgroundColor to BottonNavigationBarItem with label "HomeScreen"
The whole color of BottomNavigationBar Changes INSTEAD OF JUST CHANGING THE COLOR OF FIRST ITEM
My flutter doctor summary.
[√] Flutter (Channel beta, 1.24.0-10.2.pre, on Microsoft Windows [Version 10.0.19042.662], locale en-IN)
• Flutter version 1.24.0-10.2.pre at C:\src\flutter
• Framework revision 022b333a08 (3 weeks ago), 2020-11-18 11:35:09 -0800
• Engine revision 07c1eed46b
• Dart version 2.12.0 (build 2.12.0-29.10.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at C:\Users\pallav\AppData\Local\Android\sdk
• Platform android-30, build-tools 30.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (4 available)
• Redmi Note 4 (mobile) • 34f0409d0604 • android-arm64  • Android 9 (API 28)
• Web Server (web)      • web-server   • web-javascript • Flutter Tools
• Chrome (web)          • chrome       • web-javascript • Google Chrome 87.0.4280.88
• Edge (web)            • edge         • web-javascript • Microsoft Edge 87.0.664.55
• No issues found!

This is not an issue.
There are two types of BottomnavigationBar: Fixed & Shifted, if the items in BottomNavigationBar is less then 4, the default type will be fixed. If it's 4 or greater then the type will be shifted. BottomNavigationBarType.shifted takes the color of its items and if null default will be white.
Documentation From Code:
/// The bottom navigation bar's [type] changes how its [items] are displayed.
/// If not specified, then it's automatically set to
/// [BottomNavigationBarType.fixed] when there are less than four items, and
/// [BottomNavigationBarType.shifting] otherwise.
///
///  * [BottomNavigationBarType.fixed], the default when there are less than
///    four [items]. The selected item is rendered with the
///    [selectedItemColor] if it's non-null, otherwise the theme's
///    [ThemeData.primaryColor] is used. If [backgroundColor] is null, The
///    navigation bar's background color defaults to the [Material] background
///    color, [ThemeData.canvasColor] (essentially opaque white).
///  * [BottomNavigationBarType.shifting], the default when there are four
///    or more [items]. If [selectedItemColor] is null, all items are rendered
///    in white. The navigation bar's background color is the same as the
///    [BottomNavigationBarItem.backgroundColor] of the selected item. In this
///    case it's assumed that each item will have a different background color
///    and that background color will contrast well with white.

  /// The color of the [BottomNavigationBar] itself.
  ///
  /// If [type] is [BottomNavigationBarType.shifting] and the
  /// [items] have [BottomNavigationBarItem.backgroundColor] set, the [items]'
  /// backgroundColor will splash and overwrite this color.
  final Color backgroundColor;


Support _FILE postfixes for environment variables

Link to issue this resolves
https://github.com/fnproject/fn/issues/1141

What I did
getEnv and getEnvInt now test to see if {key}_FILE is set after testing {key}.  If it is set it reads the value from the specified file.

How I did it
I searched for the point where the environment variables were loaded and added a small feature to it.

How to verify it
Build the docker image as usual, then

echo 8081 > /tmp/test_var
docker run -v /tmp/test_var:/run/secrets/test_var -v /var/run/docker.sock:/var/run/docker.sock -e FN_PORT_FILE=/run/secrets/test_var -i {image}

You should see Fn server running on port 8081

One line description for the changelog

Support _FILE postfixes for environment variables to be loaded from file.

One moving picture involving robots (not mandatory but encouraged)

@jgh- 's OCA is approved!


Updating Process Spec and Process Run attribute tables

Removed ingredients and output_material rows as they are currently not attributes that belong to ProcessSpec and ProcessRun objects.

The attributes exist, they are just not driven by this object.  Would it make more sense to keep the attribute and change Required to Implicitly defined?  This is also relevant to the measurements attribute on Measurement Runs.

The attributes exist, they are just not driven by this object. Would it make more sense to keep the attribute and change Required to Implicitly defined? This is also relevant to the measurements attribute on Measurement Runs.

That could work. I would also suggest Defined in Ingredient Spec or Defined in Material Spec as an explicit explanation of where those data live.
I was also thinking it could be also useful in the paragraph above the table to spell out the connectivity of Process Specs with Ingredient Specs and Material Specs. For example, "A Process Spec is connected to an Ingredient Spec object, through a Process Spec field in Ingredient Spec objects ..." or something like that. I guess a more general question that I have is the connections between GEMD objects from directed acyclic graphs. How much are we trying to spell that out in the docs or is the goal to keep it lean?

@xperrylinn I think this makes sense. Thoughts?
@maxhutch I marked fields with values that are set automatically in gemd-python as Implicit rather than Required

@xperrylinn I think this makes sense. Thoughts?

@kroenlein - LGTM! Thank you for making those edits.
(P.S. ignore the closing/opening of this PR, I accidentally clicked Close with comment button 😂 )


feat: support flutter 3.0.0, and fix error & warning

support flutter 3.0: #18

iOS编译通过，android报错，需要你看下@kevinGong2013


Expired root cert was generated

I've tried to get root cert from http://<YOUR PC/MAC IP>:8888/mediatorRoot.cer but got expired one :(
openssl x509 -noout -text -in /Users/my_name/Downloads/mediatorRoot.cer

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            b4:23:cb:41:58:27:93:8a:11:0c:cd:41:36:20:c2:f0:02:51:00:b5
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN=Mediator Proxy Root, OU=Mediator, O=ButterCam Open Source
        Validity
            Not Before: Jul  2 07:05:24 2024 GMT
            Not After : Jun 30 07:05:24 2034 GMT

my bad Not After 2034


Steering Data is wrong

Describe the bug
I tested with two devices to join a thread network.
First device was successful in commissioning and then tried commissioning for the second device.
But it does not start DTLS session because of wrong "Steering Data" from "Discovery Response".
From the below log captures, when second device tries commissioning, the steering data sent from NCP looks for the first device.
This is first device wireshark log when success

This is second device wireshark log when success

This is second device wireshark log when fail

To Reproduce
Information to reproduce the behavior, including:
Network looks like this : BBB--NCP(leader)-----CLI MTD(1)
|-- CLI MTD(2)
commission first device, and then commission the second device.
try this several times. sometimes second device does not start DTLS session after receiving Discovery Response. Then look into the streering data to see if it is ok.
Expected behavior
A clear and concise description of what you expected to happen.
Console/log output
If applicable, add console/log output to help explain your problem.
Additional context
Add any other context about the problem here.

Moved this issue to openthread/borderrouter project, since this seems to be specific to border router.

@kwangeom It seems you are using a very old version, could you please try the latest version?

@bukepo, I was able to reproduce the behavior using the latest master.

@kwangeom Hi could you try apply openthread/openthread#3623 and #256 and see if they fix the issue you encountered?

@Yakun Xu I will test this fix and let you know the result tomorrow.
On Sat, Feb 23, 2019 at 7:03 PM Yakun Xu<EMAIL_ADDRESS>wrote:

@kwangeom https://github.com/kwangeom Hi could you try apply
openthread/openthread#3623
https://github.com/openthread/openthread/pull/3623 and #256
https://github.com/openthread/borderrouter/pull/256 and see if they fix
the issue you encountered?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openthread/borderrouter/issues/254#issuecomment-466721592,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIuntarJvldJSwSYZwflrnjDcnm9sy6Wks5vQeTugaJpZM4bMU7r
.

@bukepo  This fix is working for me. Thanks so much for the quick fix.


PVNet concurrent datapipe

This new datapipe is for generating batches, where in each batch there are 317 samples for all of the 317 regional GSPs at the same init time t0. This is much faster (at least 10x faster) than our current method of creating similar batches.
This will allow us to create batches for the summation model and to run backtests much faster.
INCLUDED

New pipeline for concurrent batches
Minor refactoring and linting

TODO:

[x] Bug fixes
[x] Tests

TODO in PVNet library after merging

Use new pipeline within concurrent batch creation script
Use new pipeline within UK backtest script

This new datapipe is for generating batches, where in each batch there are 317 samples for all of the 317 regional GSPs at the same init time t0. This is much faster (at least 10x faster) than our current method of creating similar batches.
This will allow us to create batches for the summation model and to run backtests much faster.
INCLUDED

New pipeline for concurrent batches
Minor refactoring and linting

TODO:

[x]  Bug fixes
[x]  Tests

TODO in PVNet library after merging

Use new pipeline within concurrent batch creation script
Use new pipeline within UK backtest script

How much is it worth testing this TODO's before merging?
Im not sure here

How much is it worth testing this TODO's before merging? Im not sure here

I've already got it working  locally in the concurrent batch creation script in PVNet, so I'm  confident enough to merge


Entity collection querying

Experimental support for accessing and filtering entity collections by typename from the Apollo cache using the new useFragment and useFragmentWhere hooks.
This change introduces the concept of data entity collections, grouped by type. It is currently difficult to perform queries for entities of a particular type from the Apollo cache, such as all Employee entities in the cache with age == 42. Since the cache does not group entities by type, you would need to create a pseudo collection field by writing a field to the root query and always keeping it up to date when new entities of that type are added/removed.
If you then wanted to perform the filter by age, you would need to write another type policy called employeesAboveAge that filters the pseudo collection down further.
This ends up being a lot of overhead and developer maintenance to do manually and could be made easier. This feature supports automatic collection grouping of entities in the cache, which can then be queried using the new useFragment and useFragmentWhere as well as the watchFragment and watchFragmentWhere APIs.
an example of using the hooks might look like this:
  const { data } = useFragment(
    gql`
      fragment GetEmployee on Employee {
        id
      }
    `,
    {
      id: 'Employee:1',
    }
  );

  const { data } = useFragmentWhere(
    gql`
      fragment GetEmployeesByAge on Employee {
        id
        first_name
      }
   `,
    {
      employee_age: 42,
    }
  );

This is still an experimental implementation requiring some further cleanup/testing but the PR is up early for feedback from folks.
Proposed implementation
Whenever a normalized entity like an Employee:1 object is written to the cache, a reference is also added to a CacheExtensionsCollectionEntity entity for that type, with ID CacheExtensionsCollectionEntity:TypeName that is shaped like this:
{
  "ROOT_QUERY": {...},
  "CacheExtensionsCollectionEntity:Employee": {
    data: [{ __ref: 'Employee:1']}
    __typename: "CacheExtensionsCollectionEntity",
    id: "Employee"
  },
  "Employee:1": {...},
}

With the list of entities by type now maintained in the cache, we can then add support watching for updates to the full or filtered collection. While there is a matching readFragment API available as a counterpart to readQuery, there is no built-in useFragment or watchFragment API for useQuery or watchQuery. This is likely because entities themselves are not watchable in the Apollo cache, only queries support the observable API necessary for subscribing to changes.
To overcome this limitation and introduce the useFragment, watchFragment and new useFragmentWhere APIs, we automatically generate a type policy for these calls and access the data from the collection entities. This way, whenever any fields requested in the fragment change in the cache, the type policy will update and deliver new data, just like a manually defined type policy would.
Open API questions
Right now it creates the automatically generated type policies by fragment name. Fragment and query names should be unique across apps since conflicting ones would break tools like TS type generation. The alternative to relying on fragment names here would be to have the new APIs like useFragmentWhere support a name or alias field to cache it under, which can be done but adds a bit more developer overhead.
I will probably list a few more things here as people point them out/I think through why this is all a bad idea 🙃

This looks really creative/promising, @danReynolds !

It is currently difficult to perform queries for entities of a particular type from the Apollo cache, such as all Employee entities in the cache with age == 42. Since the cache does not group entities by type, you would need to create a pseudo collection field by writing a field to the root query and always keeping it up to date when new entities of that type are added/removed.  If you then wanted to perform the filter by age, you would need to write another type policy called employeesAboveAge that filters the pseudo collection down further.

Just to make sure I'm correctly oriented within the problem space, is it fair to say that the current proposal solves the same problem as the root query / field policy pattern, but with less boilerplate code required of the developer?
If so, it may be instructive to provide a reference example showing how the motivating example of querying Employees of a certain age would be accomplished under the existing paradigm.
As an aside: this would be a great topic for a future GraphQL WG meeting. 😉

This looks really creative/promising, @danReynolds !

It is currently difficult to perform queries for entities of a particular type from the Apollo cache, such as all Employee entities in the cache with age == 42. Since the cache does not group entities by type, you would need to create a pseudo collection field by writing a field to the root query and always keeping it up to date when new entities of that type are added/removed.  If you then wanted to perform the filter by age, you would need to write another type policy called employeesAboveAge that filters the pseudo collection down further.

Just to make sure I'm correctly oriented within the problem space, is it fair to say that the current proposal solves the same problem as the root query / field policy pattern, but with less boilerplate code required of the developer?
If so, it may be instructive to provide a reference example showing how the motivating example of querying Employees of a certain age would be accomplished under the existing paradigm.
As an aside: this would be a great topic for a future GraphQL WG meeting. 😉

Yea! we discussed it at a working group meeting a couple weeks back, I think you were out. I'm planning to write up a post demonstrating the use cases it solves, it was getting to be too much background for a PR description.


invite @liwenbin5242 to write a blog about his bot

@liwenbin5242 is a young programmer from Zhengzhou.
He wishes to have a robot for his own, it can forward messages from his pals in the room to other rooms. He thinks it would be so cool and he will also set some keywords to filter the sensitive words.
He would like to share his bot in the blog. Looking forward to your blog!

Kindly ping @liwenbin5242
and Happy New Year 2021!

Kindly ping @liwenbin5242
and Happy New Year 2021!