Creating plugin: What’s the cleanest way to detect if the current selection is already wrapped in a whitelisted element?

I'm working on a plugin for font sizes that just wraps the selected text in a  and applies style="font-size: [n]px;" to the span, where [n] gets replaced by the value passed in. My code thus far:
setFontSizeCommand.execute = function(value) {
	scribe.transactionManager.run(function () {
		var selection = new scribe.api.Selection();
		var range = selection.range;

		var selectedHtmlDocumentFragment = range.extractContents();
		var span = document.createElement('span');
		span.appendChild(selectedHtmlDocumentFragment);
		range.insertNode(span);
		range.selectNode(span);
		span.style.fontSize = value + 'px';

		// Re-apply the range
		selection.selection.removeAllRanges();
		selection.selection.addRange(range);
	});
};

I’d like to be able to just reuse a span (or any element, for that matter) if the currently-selected text is wrapped in one. With the above code, if you select the characters “Basil Elton” in the sentence “I am Basil Elton” and apply a font size, then apply another to the same selection you will get the following output:
I am Basil Elton

What is the best way to see if the currently-selected text is already wrapped in an element that can be used in this instance?

parentElement.nodeName should do it, but there might be more to what you want to do (and I'm totally for it)
Considering you need to merge the attributes into one tag.
Is this in a single plugin or does it span multiple ones?

This comparison function will actually span multiple plugins that I'll be sharing in the not-too-distant future.

parentElement.nodeName won't necessarily tell me if the selected text is already wrapped in a , though, right? It will just give me the nodeName of the parent.

@brandondurham If I understand you correctly then extractContents returns a DocumentFragment which you can check the first element of.

Thanks for your code @brandondurham , I wanted to achieve the very same thing and based it off of your code here. These are my results (these are not "production-ready" or tested thoroughly!!):
fontSizeCommand.execute = function(size) {
    scribe.transactionManager.run(function () {
        let selection = new scribe.api.Selection();
        let range = selection.range;

        // Get Range Text & Current Node Text
        let selectedHtmlDocumentFragment = range.extractContents();
        let tDiv = document.createElement('div');
        tDiv.appendChild(selectedHtmlDocumentFragment.cloneNode(true));
        let rangeText = tDiv.innerText;
        let nodeText = selection.selection.focusNode.textContent;

        // Determine if we need a new node
        let isNewNode = true;
        if (nodeText === rangeText) {
            let isNewNode = (selection.selection.focusNode.parentElement.nodeName === 'SPAN') ? false : true;
        }

        // Create / Get SPAN
        let span = (!isNewNode) ? selection.selection.focusNode.parentElement : document.createElement('span');
        span.appendChild(selectedHtmlDocumentFragment);
        if (isNewNode) {
            range.insertNode(span);
            range.selectNode(span);
        }
        // Clear Setting for children
        for (let i in span.childNodes) {
            let child = span.childNodes[i];
            if (child.nodeName === 'SPAN') {
                child.style.fontSize = '';
                if (!child.getAttribute('style')) {
                    scribe.node.unwrap(span,child);
                }
            }
        }
        // Apply new Font-Size
        span.style.fontSize = size;

        // Re-apply the range
        selection.selection.removeAllRanges();
        selection.selection.addRange(range);
    });
};

I'd very much like to hear your thoughts / experiences since your last post.

Thanks for your code @brandondurham , I wanted to achieve the very same thing and based it off of your code here. These are my results (these are not "production-ready" or tested thoroughly!!):
fontSizeCommand.execute = function(size) {
    scribe.transactionManager.run(function () {
        let selection = new scribe.api.Selection();
        let range = selection.range;

        // Get Range Text & Current Node Text
        let selectedHtmlDocumentFragment = range.extractContents();
        let tDiv = document.createElement('div');
        tDiv.appendChild(selectedHtmlDocumentFragment.cloneNode(true));
        let rangeText = tDiv.innerText;
        let nodeText = selection.selection.focusNode.textContent;

        // Determine if we need a new node
        let isNewNode = true;
        if (nodeText === rangeText) {
            let isNewNode = (selection.selection.focusNode.parentElement.nodeName === 'SPAN') ? false : true;
        }

        // Create / Get SPAN
        let span = (!isNewNode) ? selection.selection.focusNode.parentElement : document.createElement('span');
        span.appendChild(selectedHtmlDocumentFragment);
        if (isNewNode) {
            range.insertNode(span);
            range.selectNode(span);
        }
        // Clear Setting for children
        for (let i in span.childNodes) {
            let child = span.childNodes[i];
            if (child.nodeName === 'SPAN') {
                child.style.fontSize = '';
                if (!child.getAttribute('style')) {
                    scribe.node.unwrap(span,child);
                }
            }
        }
        // Apply new Font-Size
        span.style.fontSize = size;

        // Re-apply the range
        selection.selection.removeAllRanges();
        selection.selection.addRange(range);
    });
};

I'd very much like to hear your thoughts / experiences since your last post.

Hey guys, thought I'd update this thread as I've made some significant progress to get this working more reliably and even mostly cross-browser. Just check out the latest source here:
https://github.com/jsiebern/scribe-plugin-span-style

Very nice, @jsiebern! Taking a look at it now. Thanks for sharing.

My pleasure, feel free let me know if you find any improvements or have other suggestions.


[Android] TextInput text is not displayed

🐛 Bug Report

The TextInput text is not displayed in Android but it performs well in IOS.
To Reproduce

Expected Behavior

Code Example

<TextInput
  style={styles.searchInput}
  placeholder={
    language
      ? 'Input Australian Address'
      : LanguageMap['Input Australian Address']
  }
  placeholderTextColor="#54636A"
  returnKeyType="search"
  autoFocus={isAutoFocus}
  editable={editable}
  pointerEvents={handlePress === noop ? 'auto' : 'none'}
  onChangeText={this.onChangeText}
  value={value}
  onSubmitEditing={handleSubmit}
  blurOnSubmit
/>;

const style = StyleSheet.create({
  searchInput: {
    flex: 1,
    color: '#36404a',
    paddingLeft: 8
  }
})

Environment

React Native Environment Info:
System:
OS: macOS 10.14.3
CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Memory: 126.05 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.10.0 - ~/.nvm/versions/node/v10.10.0/bin/node
Yarn: 1.13.0 - /usr/local/bin/yarn
npm: 6.7.0 - ~/.nvm/versions/node/v10.10.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
Android SDK:
API Levels: 23, 25, 26, 27, 28
Build Tools: 27.0.3, 28.0.3
System Images: android-26 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.2 AI-181.55<IP_ADDRESS>56338
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
react: 16.6.1 => 16.6.1
react-native: ^0.57.7 => 0.57.8
npmGlobalPackages:
react-native-cli: 2.0.1

Hey @UZIhuhuhu, thanks for filing - are you able to reproduce in a https://snack.expo.io to rule out any app code that is causing this?

I tried replicating using a variety of methods. could not reproduce. would be helpful if you were able to show it on snackexpo like @rickhanlonii suggested

Unable to repro: https://snack.expo.io/@jkcooper/rn24067-textinput-text

I also encountered this problem, which can be reproduced on some Android phones.,like Redmi 4A....

I finally fix it. This bug is very unusual. Turns out that the actual size of TextInput's text is very small.
In Android, I need to expand the height of the parent container. However, it works well without this config in IOS.
<TouchableOpacity style={{height: 40}}>
  <TextInput />
</TouchableOpacity>

I also encountered this problem, which can be reproduced on some Android phones.,like Redmi 4A....

You can try my method.

👋 @UZIhuhuhu this seems to be an issue with your code, also based on your response.
Also, @JKCooper2 wasn't able to repro - which support the hypothesis; so I'll close this.

I set color in TextInput.
 <TextInput style={{color: '#000000',}} />
It works.

I could repro this issue on any Android device, I'm using<EMAIL_ADDRESS>Could fix it by adding a height to the text input
  input: {
    flex: 1,
    color: '#000',
    ...Platform.select({
      android: {
        height: 40
      }
    })
  }


Update issue templates

Coverage remained the same at 95.073% when pulling bfc187854b7b2ab049bac95f9ea941305c2f923d on danactive-patch-1 into bc6182769e7a4b00caa5c363dd811efbbba6c66e on master.


Sort tutorials

Q
A

Bug fix?
no

New feature?
yes

Breaking change?
no

Deprecations?
no

Tests added?
yes

Fixed issues
#1028

License
Apache-2.0

Tutorial metadata now has an autoindex field, which is based on the
order in which the tutorials appear in the json config file.
Templates can choose to sort based on this if they wish.
This adds the "sortTutorialsByConfigOrder" option to the default
template to sort based on this new field.
Issue #1028

@hegemonic, I notice that you merged the last two PRs in this repo.  Could you please take a look at this one, or recommend someone else who could?  Thanks!

Anyone?

This feature would be very useful. Please, have a look at it when you are available 😅


🐛 [Mealie] Recipes gon

Description
Hi
I installed mealie some time ago and added some recipes.
Then suddenly the addon stopped working.
I now finally have time and updated the addon and started it again..
I dunno why but it wouldnt start until now..
BUT
It seems i have to start over? Cause he doesnt recognize my account, and all my recipes are gone although i can see folders under recipes.
What do i need to do, to get it all back?
Thx!
Reproduction steps
None

Addon Logs
none

Architecture
No response
OS
No response

Hi, in theory the easiest way is : in the Filebrowser addon, delete the folder named /addon_configs/x-mealie, and delete the file /homeassistant/addons_config/mealie/migrated (or its the folder mealie_data) then restart the add-on.
If you had a valid installation, it would migrate your data in the new version.
If you want to delete EVERYTHING and start clean, delete (or rename) /addon_configs/x-mealie and /homeassistant/addons_config/mealie(or mealie_data) and restart

Mmm doesnt seem to work after i deleted those folders, he says "it looks like you try to log in for the first time"

Do you mean after :

Redo migration : delete the folder named /addon_configs/x-mealie, and delete the file /homeassistant/addons_config/mealie/migrated (or its the folder mealie_data) then restart the add-on
or
Clean install : delete all folders (/addon_configs/x-mealie and /homeassistant/addons_config/mealie(or mealie_data) and restart)

For clean install it is normal, however if you had a working mealie instance, redoing the migration should have worked. Or else it was not a valid instance - if you have a full backup from some time ago, you could untar it and extract the folders mealie and mealie_data from it, then put them back in the /homeassistant/addons_config folder to redo the migration

Im just gonna start over, nevermind it.
What i also would like to do…
Is it possible to have a button in the addon so i can cast the recipe to one of my google hub speaker?


Issue with DayRange instantiation

Hi everyone, I'm using the HorizonCalendar version 1.8.8.
I've met an issue with the method withDayRangeItemModelProvider in CalendarViewContent. The transformation from dateRangesto dayRanges seems to have an issue that I don't understand.
For the parameter dateRanges I have 2021-09-09 to 2021-09-10:
(lldb) po dateRanges ▿ 1 element   ▿ 0 : ClosedRange(2021-09-09 00:00:00 +0000...2021-09-10 00:00:00 +0000)     ▿ lowerBound : 2021-09-09 00:00:00 +0000       - timeIntervalSinceReferenceDate : 652838400.0     ▿ upperBound : 2021-09-10 00:00:00 +0000       - timeIntervalSinceReferenceDate : 652924800.0
And after the line 275 in CalendarViewContent:
let dayRanges = Set(dateRanges.map { DayRange(containing: $0, in: calendar) })
I get this set of DayRange which contains dates with one day before which I passed: 2021-09-08 to 2021-09-09:
(lldb) po dayRanges ▿ 1 element   ▿ 0 : ClosedRange(2021-09-08...2021-09-09)     ▿ lowerBound : 2021-09-08       ▿ month : 2021-09         - era : 1         - year : 2021         - month : 9         - isInGregorianCalendar : true       - day : 8     ▿ upperBound : 2021-09-09       ▿ month : 2021-09         - era : 1         - year : 2021         - month : 9         - isInGregorianCalendar : true       - day : 9
Could someone tell me more about it ?
For information I've change my timezone to PST for having that behavior.

@bluelagon were you able to resolve your issue? This sounds like an issue with your date creation code. Make sure the NSCalendar instance you're working with has the correct timezone set. The example project does things correctly, so refer to that if something still doesn't seem right! Good luck 🙂

Hi @bryankeller thank you for your reply. Indeed it was an issue with the timezone I set.


Need immediate chaos

It could have been nice, if this tool can perform quick chaos over a short and immediate priod of time. Our team wants to test the app resiliency in 20min/1 hour, not to wait the whole weak long before drawing conclusions.

@i0natan You can configure the time window when kube-monkey kills pods.  Would that work?

that will work but couldn't find within the docs exact timing for killing pods, can you kindly refer to it?

@i0natan the schedule settings are detailed in the configuring section

@camilocot @i0natan Can you kindly clarify a little more? Can run_hour, start_hour and end_hour be float or format like 08:10? I tried to edit the configuration file or config map to get immediate chaos. I tried run_hour=8.10 and run_hour=8:10. With the former one, kube-monkey still runs at 8am instead of 8:10am; with the latter one, it just crashed.
Thanks

As a workaround, configuring debug mode in the config.toml will schedule the execution of kube-monkey runs every 'schedule_delay' seconds. For execution every 30 seconds, i configure it as below.
[debug] enabled = true schedule_delay=30 force_should_kill = true schedule_immediate_kill = true

[debug]
enabled = true
schedule_delay=30
force_should_kill = true
schedule_immediate_kill = true

This is as intended for immediate chaos. If it's unclear in the docs, a PR
is welcome.
On Wed, Jul 4, 2018, 2:19 AM pawarmanoj<EMAIL_ADDRESS>wrote:

[debug]
enabled = true
schedule_delay=30
force_should_kill = true
schedule_immediate_kill = true
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/asobti/kube-monkey/issues/47#issuecomment-402249008,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACV_izi6cqQIWxBOu-UUomO-yfwAhBBcks5uC7W6gaJpZM4SwIdU
.

I think having a feature to schedule/kill on more than just days is a good feature
@Spellchaser can you elaborate what you mean by this? Do you mean the ability to, for example, specify a pod to be killed every 'n' hours?

Closing this issue. Open to more specific feature requests to be filed as follow up issues


Inversion of plan/nodes data values

It seems that for 3D files, the data is not shaped correctly.
the node and plan dimensions are actually inverted
A simple reshape works for having the right data, here are the details this notebook.

fixed with #44


Increment version for template releases

Increment version for template releases

Can one of the admins verify this patch?


libgfortran issue on macOS

A user reports

I have not succeeded to run it on local MATLAB installation. I received errors trying to run the SINGE_Example locally (MATLAB R2019b) on a MacBook running macOS 10.15.2. Seems to be an issue with libgfortran, which is required by glmnet.

$ SINGE_Example
…

Invalid MEX-file
'…/SINGE-master/glmnet_matlab/glmnetMex.mexmaci64':
dlopen(…/SINGE-master/glmnet_matlab/glmnetMex.mexmaci64,
6): Library not loaded: /usr/local/gfortran/lib/libgfortran.3.dylib
Referenced from:
…/SINGE-master/glmnet_matlab/glmnetMex.mexmaci64
Reason: image not found

Error in glmnetControl (line 79)
ivals.pmin, ivals.exmx, ivals.prec, ivals.mxit] =
glmnetMex();

Error in glmnet (line 329)
inparms = glmnetControl();

Error in iLasso_for_SINGE (line 100)
fit = glmnet(Am, bm, params.family, opt);

Error in run_iLasso_row (line 27)
[metric] = iLasso_for_SINGE(m, outs,
lambda,p1,dT,std_dev,params);

Error in SINGE_GLG_Test (line 58)
[for_metric] = run_iLasso_row(m,outs,params,irow);

Error in SINGE (line 20)
SINGE_GLG_Test(Data,'--outdir',outdir,args{:})

Error in SINGE_Example (line 16)
SINGE(data,gene_list,outdir,hyperparameter_file);

I do not have a local machine running macOS, so I cannot reproduce this issue yet.  In #54 I started working on testing SINGE with the MATLAB runtime as a workaround.

I was unable to reproduce this issue in MATLAB R2020a running macOS 10.15.5, so I'm going to close this issue.  We can reopen it if we get more information.
If anyone runs into this problem, this solution would be a good first step: https://stackoverflow.com/questions/57207357/dyld-library-not-loaded-usr-local-gfortran-lib-libgfortran-3-dylib-reason-im


fail to run this example file [examples/multimodal/main.py]

hello,
I failed to run this example after install ollama and llava model.
paste run log here. Please help to take a look on this issue, and if possible, update the example demo in this repo
> {'month': '2', 'num': 2739, 'link': '', 'year': '2023', 'news': '', 'safe_title': 'Data Quality', 'transcript': '', 'alt': "[exclamation about how cute your cat is] -> [last 4 digits of your cat's chip ID] -> [your cat's full chip ID] -> [a drawing of your cat] -> [photo of your cat] -> [clone of your cat] -> [your actual cat] -> [my better cat]", 'img': 'https://imgs.xkcd.com/comics/data_quality.png', 'title': 'Data Quality', 'day': '17'}
> xkcd #2739: [exclamation about how cute your cat is] -> [last 4 digits of your cat's chip ID] -> [your cat's full chip ID] -> [a drawing of your cat] -> [photo of your cat] -> [clone of your cat] -> [your actual cat] -> [my better cat]
> link: https://xkcd.com/2739
> ---
> https://imgs.xkcd.com/comics/data_quality.png
> Traceback (most recent call last):
>   File "/Users/x/Workspace/test_ollama/ollama-python/examples/multimodal/main.py", line 27, in <module>
>     for response in generate('llava', 'explain this comic:', images=[raw.content], stream=True):
>   File "/Users/x/Workspace/test_ollama/lib/python3.9/site-packages/ollama/_client.py", line 68, in _stream
>     raise ResponseError(e.response.text, e.response.status_code) from None
> ollama._types.ResponseError

Can you describe step by step what you're doing? I'm not able to reproduce this with the latest example, ollama-python, and ollama


Added chaining through enable disable methods

Currently if you do something like:
function getTouches() {
	return require('touches')
	.on( 'start', function() {} )
	.disable();
}

undefined would be returned. The  implementation should be consistent so if you do:
function getTouches() {
	return require('touches')
	.on( 'start', function() {} )
}

The same emitter is returned.

:+1:


.background color modifier

It would be nice to have a .background(Color.red) operator on a view, that sets the .backgroundColor of the ASDisplayNode. Is there a technical reason this isn't already in the library? If not, could that operator be added?

@AndrewSB
Hi, thanks!
The reason why we can't use such as adding background what we want is Texture's layout spec is only for layout information. We must avoid to create a node inside returning layoutspec.
This issue also helps you to understand.
https://github.com/TextureCommunity/TextureSwiftSupport/issues/21

Or even if you mean that operator sets the background color of the node, that's not also a good practice.
While creating layout spec, as possible, we should keep the state of the nodes.

got it, there's that technical limitation I was looking for. Thank you for your work building this!

actually, as I'm looking through your demo, would it not be possible to wrap onDidLoad in a special modifier to just change the background color? like you've done here:
https://github.com/TextureCommunity/TextureSwiftSupport/blob/96eabb9681c2a7c7cf3f55af6348c828fd567d7a/Demo/InstagramPostCellViewController.swift#L103-L105
why is it a best practice to enforce that operators only modify the layout, not node style/state? does modifying state/style cause a re-render?


must create project in $GOPATH/src

19:53:38 You must create your project in $GOPATH/src

why does it have to be in that folder? Its not a big issue, but i would still prefare being able to create a project in any directory.

Unfortunately the go tools simply don't work if you're not in GOPATH (or didn't last time I checked, things like tests failed). I may however change this to just a warning, as it can be annoying. I will try testing that out.

After some thought, what I'd like to do is remove this restriction and instead add a warning, so that we're prepared for a future in which the go team change the tools to let you work anywhere. I understand they've made some progress on that already. I will test that out and commit, or if you prefer, happy to take a pull request.


Fix console error

This PR fixes an error that shows up in the console on non-course pages:
ListItems.js:11 Uncaught TypeError: Cannot read property 'checklist_states' of undefined

The error is being caused because ENV.COURSE_WIZARD is undefined. The changes in this PR ensures that the require() statement for the checklist is only invoked on course pages where that environment variable is defined. The same goes for the content migration page.
Note: the diff makes it look like a lot changed, but most of that is just because I indented everything inside a self-invoking function.
@jazahn @MichaelDHilborn-Harvard Can you review this?

@jazahn Poke -- can you take a look at this PR?


update doorio to v2.1.0

@Bettman66 please update your branch from repo before you do next PR please :-) I fixed the conflict

@Bettman66 please update your branch from repo before you do next PR please :-) I fixed the conflict


⚠ ClamAV has degraded performance

In 746a432, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 88 ms

Resolved: ClamAV performance has improved in bdc0903.


Segmentation fault ./bin/Agent.Listener configure "$@"

Have you tried trouble shooting?
Yes, issue is more fundamental though.
Agent Version and Platform
2.133.3
Debian 9 (Stretch) amd64
VSTS Type and Version
On-Prem
What's not working?
config.sh: line 86: 30231 Segmentation fault ./bin/Agent.Listener configure "$@"
Agent and Worker's Diagnostic Logs
Last line in _diag -log:
VisualStudioServices] Starting operation Location.GetConnectionData
Configuration fails with a segmentation fault straight after entering authentication credentials on Debian 9.
Thanks and regards,
mingalsuo

Cool, glad you unblock, i will close the issue.

I have the exact same identical issue but I have no trace of libssl 1.0.0 on my system so the workaround doesn't work for me.
Any idea of what could be the problem or how I can diagnose it?
[root:/azp] # find / -name libssl*
/var/lib/dpkg/info/libssl1.1:amd64.postrm
/var/lib/dpkg/info/libssl1.0.2:amd64.postinst
/var/lib/dpkg/info/libssl1.0.2:amd64.templates
/var/lib/dpkg/info/libssl1.0.2:amd64.md5sums
/var/lib/dpkg/info/libssl1.1:amd64.triggers
/var/lib/dpkg/info/libssl1.0.2:amd64.shlibs
/var/lib/dpkg/info/libssl1.0.2:amd64.triggers
/var/lib/dpkg/info/libssl1.0.2:amd64.postrm
/var/lib/dpkg/info/libssl1.1:amd64.postinst
/var/lib/dpkg/info/libssl1.1:amd64.templates
/var/lib/dpkg/info/libssl1.1:amd64.shlibs
/var/lib/dpkg/info/libssl1.0.2:amd64.symbols
/var/lib/dpkg/info/libssl1.1:amd64.list
/var/lib/dpkg/info/libssl1.0.2:amd64.list
/var/lib/dpkg/info/libssl1.1:amd64.md5sums
/var/lib/dpkg/info/libssl1.1:amd64.symbols
/usr/local/ssl/lib/pkgconfig/libssl.pc
/usr/local/ssl/lib/libssl.a
/usr/lib/x86_64-linux-gnu/libssl.so.1.1
/usr/lib/x86_64-linux-gnu/libssl.so.1.0.2
/usr/share/doc/libssl1.1
/usr/share/doc/libssl1.0.2
apt --installed
libssl1.0.2/stable,stable,now 1.0.2r-1~deb9u1 amd64 [installed,automatic]
libssl1.1/stable,stable,now 1.1.0j-1~deb9u1 amd64 [installed,automatic]


ValidationError when using imagePullPolicy

Hi, just started using hera and it is pretty cool! But, I am having an issue with imagePullPolicy.
I am using version 5.1.3
Sample code:
from hera.workflows import Workflow, script

@script(image_pull_policy="Always")
def pull():
    pass

with Workflow(generate_name="pull-", namespace="argo") as w:
    pull()
w.create()

Error output:
Traceback (most recent call last):
  File "/home/.../demo.py", line 11, in <module>
    w.create()
  File "/home/.../lib/python3.10/site-packages/hera/workflows/workflow.py", line 335, in create
    WorkflowCreateRequest(workflow=self.build()), namespace=self.namespace
  File "/home/.../lib/python3.10/site-packages/hera/workflows/workflow.py", line 212, in build
    templates.append(template._build_template())
  File "/home/.../lib/python3.10/site-packages/hera/workflows/script.py", line 172, in _build_template
    script=self._build_script(),
  File "/home/.../lib/python3.10/site-packages/hera/workflows/script.py", line 187, in _build_script
    _ModelScriptTemplate(
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for ScriptTemplate
imagePullPolicy
  str type expected (type=type_error.str)

Seeing the same - also 5.1.3


Rebble & Pebble: load steps from health app (as fallback)

I would like to see the Rebble watch have the fallback to load the daily steps from the health app (which is installed by default).
There is already at least one person on reddit which stumbled on the problem that Rebble and Pebble watch does not deliver steps without the pedometer widget installed (which is not installed by default):
https://www.reddit.com/r/Banglejs/comments/rg1llc/step_count_on_bangle_js_2/
Contains changes from previous MR: https://github.com/espruino/BangleApps/pull/1073

@gfwilliams  is saw your commit https://github.com/espruino/Espruino/commit/c09de7bc3a206760f16fd9482c2152dd73a9f605
Do you suggest to use that new functionality for this like follows?:
function getSteps() {
  if (WIDGETS.wpedom !== undefined) {
    return WIDGETS.wpedom.getSteps();
  } else {
    if (Bangle.getHealthStatus) {
       const day = Bangle.getHealthStatus("day");
       if (day) return day.steps;
     }
  }
  return '????';
}

It's not quite that easy, since getHealthStatus already exists. Realistically it's probably going to be a matter of checking the version number is 2v11 or later.
BUT I really don't like the idea of having these little extra bits of code in every clock face that wants to displays steps. It's why I'm a bit hesitant about merging this.
I just don't get why we can't just ask the user to install a pedometer? Hell, it can even be put in the app JSON so a pedometer is installed automatically.
Right now, if I merge this, users without a pedometer will inexplicably find that their watch face takes a whole second to render and their battery life is seriously degraded. I don't think that's an improvement over just having '???' until they install the a pedometer widget.

I agree that having a (maybe built-in espruino) solution for this would be better than updating all clocks, widgets, etc.
I will close this MR for now.
We could need the changes to add the pedometer widget as dependency for several clocks. I will maybe create this in the near future.

Great - thanks! Yes, I think adding the dependency is a nice easy way of handling this for now.
And when 2v11 is released we can update the pedometer to use the new Bangle.js functionality


Issue #22

Partial fix which ignores arrow, escape and non alphanumeric characters.
I didn't fix the character limit issue as it seemed like a separate issue. If I change the file the name is more than 18 chars long, scoreboard breaks. I will try to find a better solution there.

Cool! It'd be great if you could run clang-format on the code :smile:.

See #29.

I pulled in the commits that my fork was missing and then updated my master. Github seems to have to resolved all of the merge conflicts .

Hi, this PR will close because the PR's code differs from the main codebase a lot. :mag:
If the issue in the project and the solution still exist, please make a new PR using the latest copy of the codebase.
Thanks! :cat2:


Clean up all alpine related code

When we have closed #26 (Change from alpine to Mini-image), it could be nice If we could remove all the code that was used to run the alpine docker image. This includes the methods in build.py, the alpine_to_conda_map.txt and the related tests.

Resolved in #58


PUT Method

Updated the PUT method
Old : Only adding the genres
New : It updates the movie tiitle based on ID provided

The PUT method in a C# file is used to update an existing resource. The method takes the resource's URI as its parameter and returns the updated resource.
The following is an example of a PUT method in a C# file:
C#
public void Put(string uri, object resource)
{
// Update the resource
}


include new wrappers in order-form in frontend

Closed with PR #85
... except if this doesn't properly cause the new wrappers to run. Can only test that once ts-wrapper is there. Feel free to re-open then or create a new issue.


Error using "npx cds-dbm deploy"

I wanted to learn how to use PostgreSQL with SAP-CAP Services.
For this i read Blogs from Georg and Mike. Thanx for the great work you have done so far.
For diggin deeper i cloned the "pg-beershop" demo.
First i wanted to try with local PostgreSQL running in a local docker-instance.
When i there try to deploy the database-part i get an error.
So, the command: npx cds-cbm deploy results in an error as described in the following screenshot

kind regards
Matthias

Hi @mhay-at-dvelop
can you try to run it in a Unix environment like the Linux Subsystem for Windows? I've tried the current pg-beershop on my Mac and it works just fine. Will try to test on Windows tomorrow.
CU
Gregor

HI Gregor,
i now tried it with Linux Subsystem for Windows (Debian).
Here i also get an error. Looks similar.

and also look at the logfile:


error NU1100: Unable to resolve 'SourceLink.Embed.PaketFiles

This used to work for dotnet and I've not changed anything. It is no longer working. It is simply a package reference with a single .targets file.
  <ItemGroup>
    <ProjectReference Include="..\FsAutoComplete.Core.netcore\FsAutoComplete.Core.fsproj" />
    <PackageReference Include="SourceLink.Create.CommandLine" Version="2.6.0" PrivateAssets="All" />
    <PackageReference Include="SourceLink.Embed.PaketFiles" Version="2.6.0" PrivateAssets="All" />
  </ItemGroup>

C:\Users\camer\fs\FsAutoComplete\src\FsAutoComplete.netcore\FsAutoComplete.fsproj : error NU1100: Unable to resolve 'SourceLink.Embed.PaketFiles (>= 2.6.0)' for
'.NETCoreApp,Version=v2.0'. [C:\Users\camer\fs\FsAutoComplete\FsAutoComplete.netcore.sln]

C:\Users\camer\fs\FsAutoComplete\src\FsAutoComplete.Core.VerboseSdkHelper.netcore\FsAutoComplete.Core.VerboseSdkHelper.fsproj : error NU1100: Unable to resolve 'SourceLink.Embed.PaketFiles (>= 2.6.0)' for '.NETStandard,Version=v2.0'. [C:\Users\camer\fs\FsAutoComplete\FsAutoComplete.netcore.sln]
C:\Users\camer\fs\FsAutoComplete\src\FsAutoComplete.Core.netcore\FsAutoComplete.Core.fsproj : error NU1100: Unable to resolve 'SourceLink.Embed.PaketFiles (>= 2.6.0)' for '.NETStandard,Version=v2.0'. [C:\Users\camer\fs\FsAutoComplete\FsAutoComplete.netcore.sln]

I'll need to try out the other dotnet sdk version and see where it broke. Currently:
dotnet sdk 2.1.2

This appears fixed with dotnet sdk 2.1.3, so add a global.json with this if you get the error:
{
    "sdk": {
        "version": "2.1.3"
    }
}

This is failing even with 2.1.3 installed on AppVeyor for FsAutoComplete. It looks like it is this Paket issue:
https://github.com/fsprojects/Paket/issues/2930

I was finally able to reproduce the problem locally by deleting the pacakges from the NuGet cache and then running .\build.cmd ReleaseArchive in FsAutoComplete. "mixed mode" isn't supported by paket, but I don't know who to do PrivateAssets="All" with paket yet. The error was occurring when dotnet looks for the package, but paket did not download it. A workaround is to add it to paket.dependencies, such as:
group SourceLink
  storage: none
  source https://www.nuget.org/api/v2/
  nuget SourceLink.Create.CommandLine 2.6.0
  nuget SourceLink.Embed.PaketFiles 2.6.0

This works now. I just updated Argu from SourceLink 1 to SourceLink 2 with these changes
https://github.com/fsprojects/Argu/pull/97/files
In the FAKE build script, added an msbuild property of /p:SourceLinkCreate=true with:
|> MSBuild "" "Build" ["Configuration", configuration; "SourceLinkCreate", "true"]

In paket.dependencies added the dependency. I added it in a group which is optional. The reason I did was in case I needed to interop with a <PackageReference for net net40 solution that is not a netcore project yet.
group SourceLink
  storage: none
  source https://www.nuget.org/api/v2
  nuget SourceLink.Create.CommandLine 2.7.2 copy_local: true

Add the reference in the paket.reference files.
group SourceLink
  SourceLink.Create.CommandLine


The  new tasks appear as duplicates

The task installed without issue. However, when adding build tasks for either MSBuild or Visual Studio Build to a build definition in a classic pipeline they show as being identically labeled ( see screenshots ). You just have to pick both and then see which Visual Studio versions are supported and discard the built-in one. I was expecting the description of the task to be unique based on your description.
using task version 1.202.3 on Azure DevOps Server 2020.1.1U4

.

You installed through the extension I assume here?

I installed the 1.202.3 version from downloading from the VS Marketplace. Then installed extension via Azure DevOps Gallery Extensions to the on premise server and then to the collection I was testing it on.

Ah. Found the issue. It's caused by the fact that localized text overrides the defaults. I thought I already fixed that, but it seems it isn't.

If you need an immediate fix, extract the vsix, and update the loc.friendlyName property if the *.resjson files.
In the mean time I'll try to find a good moment to debug this and roll out a fix.

New build is running. You'll need to uninstall the old version from your collection and then install the new one, since the build tasks' versions remains the same, they won't be overwritten when the extension is updated in place.

New release finished
https://github.com/jessehouwing/azure-pipelines-tasks-zips/releases/tag/m202

I have tried your editing suggestion and it works as you expected.

 Thanks for the small fix.
If this helped you, please:

⭐ Star the repo
⭐⭐⭐⭐⭐ Leave a  review on the Azure DevOps Marketplace with a short description how these tasks helped you

🛍 Visual Studio 2022 for Azure DevOps Server
🛍 DotNetCore 6 for Azure DevOps Server

💝 Consider sponsoring me or convince your employer to do so


WFLY-13152 WFLYEJB0094: EJB 3.1 FR 5.4.2 MessageDrivenBean does not i…

JIRA: https://issues.redhat.com/browse/WFLY-13152

Not sure if CompositeIndexProcessor already handles inter-module dependencies when building the index.  Looks like it should with its buildSubdeploymentDependencyMap method.  Various sharing and unsharing config in jboss-deployment-structure will certainly affect this issue.  The standard way to share classes between ejb jars is to include common classes in ear lib jars, but if users configure ear-subdeployments-isolated to false and have ejb jars depend on other ejb jars, it should also be supported.  One issue with proactively adding dependencies to a module's CompositeIndex is we may be adding too much entries for no gains in most cases, as having ejb super classes in ear lib jar is edge case, let alone in other peer ejb jars.

Not sure if CompositeIndexProcessor already handles inter-module dependencies when building the index. Looks like it should with its buildSubdeploymentDependencyMap method. Various sharing and unsharing config in jboss-deployment-structure will certainly affect this issue.

My understanding is it only handles modules that are explicitly added via class-path or deployment-structure. Hence my suggestion to additionally compute the indexes of the sub-deployment modules that belong to the same EAR (jar in libs to ejb-jars and wars, ejb-jars between them and to wars).
Anyway, by your inputs being this an edge case, unnecessary and overcomplicated. Your change already fixes the problem having a superclass defined into the EAR parent module.


Simplify code with builder pattern

add builder pattern with context
add Printama parameter in lambda
add cat.jpg for sample drawable print (tested on android 10)
add log for failed scaling bitmap, because vector or mipmap (tested on android 10)
update gitignore, ignoring .idea folder

Beautiful.
But I still not feel convenience with this "connect" thing.
Let me merge your code first.


add subdivisions to VSCode Extension Settings

First merge request - let's see how it goes!
Related to https://github.com/rokucommunity/vscode-brightscript-language/issues/378

Looking good so far. I noticed the code was a little out of date, so I pushed a few fixes to get it back in sync.
Here are a few suggestions:

[ ] Make a dedicated category for all the .format settings called "Formatting"

[ ] Make a new "Project Settings" category and move these settings in there:

brightscript.configFile
brightscript.bsdk
brightscript.enableLanguageServer

[ ] rename "Terminal Output" to "Debug Logging" and make sure all of these commands are in there

clear console on channel start
clear on launch
focus on launch
hyperlink format
include stack traces
output panel startup behavior

[ ] Rename "Network And Device Discovery" to "Device Discovery". Its children can remain.

[ ] create new category called "Device Control (ECP)" and move these settings there:

remote control.host
brightscript.sendRemoteTextHistory.limit
brightscript.sendRemoteTextHistory.enabled
brightscript.remoteControlMode.enableActiveAnimation

[ ] create a new category called "Miscelaneous", move it to the bottom,  and move these settings there:

brightscript.extensionLogfilePath

[ ] remove all the "order" properties in favor of just listing the categories alphabetically

Got you fully.  Not sure how the sync issues occurred, as did fork from your master branch on the day; never mind and thanks.  I'll be aware in the future, thanks.

With your suggested changes @TwitchBronBron I will implement, looks good.

Thank you @TwitchBronBron all changes made as you requested, thanks.

Everything looks great! Thanks for this.

Thanks Bron - a pleasure to help !!!


apt: drop apt-key from test script

As apt-key will be removed in Debian 12, it is not recommended to use
apt-key. The replacement of apt-key is using /etc/apt/trusted.gpg.d/
keyring instead.
NOTE: GnuPG 2.x new keyring format (keybox) is not recognized, we need
to use legacy public ring v4.x for a moment.
See
https://www.debian.org/releases/testing/amd64/release-notes/ch-information.en.html#obsolescense-and-deprecation

I'll tweak a bit.

It should be now fixed. waiting CI.


Customize S3's GetBucketLocation call to correctly parse the response

This PR adds a custom Smithy trait to customize the XML deserialization codegen for S3's GetBucketLocation call to fix aws-sdk-rust#116.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Full review coming tomorrow–instead of adding it as an integration test, add it to s3-tests.smithy. that will make it easier to upstream


Character Glitches?

Unable to replicate the screen that is shown on the main page, certain characters don't show or weirdly reset the display.
The image in question...

Looking at the image there appear to be some characters that I can't get to display correctly.

The red squares are the characters that are acting wrong.
They appear to be special characters.
0 = NULL (Appears to just be a empty space, but still messes up the screen none the less)
8 = Backspace
9 = Horizontal Tab
10 = Line Feed
12 = Form Feed/ New Page
13 = Carriage Return
27 = Escape Fixed By Sending Twice (Marked in Yellow)
127 = Delete
Sending an escape character before them doesn't seem to fix them.
Any clue how to fix this?
"Fixed" by editing gfx.c to stop it from eating the inputs and recompiling, unfortunately this means breaking other things...

Ended up modifying the font itself, it works but is not satisfactory...

Leaves some empty spaces and is not standard but works.

Moved this to my fork as it seems more appropriate. https://github.com/wawa1474/pigfx/issues/1
Plus this place seems dead...

Hi,
The screen in the main page is just a sample of how the characters could be rendered on the screen. The terminal ansi codes parser do not allow you to print all the available characters. The obvious example is the ESC (27) used to start a sequence, or the newline character that would change the cursor position.
At the moment there is no way to just output the raw UART data. If you want to modify the sources, I suggest you to call the function
void gfx_putc( unsigned int row, unsigned int col, unsigned char c )
to manually render a specific char at a certain screen position.
I don't have so much spare time to support this project anymore, so any fork is welcome


Allow excluding entire modules/packages

Originally reported by Ram Rachum (Bitbucket: coolrr, GitHub: coolrr)

Allow excluding entire modules/packages from coverage measurement by including some identifiable string in their source, similarly to "pragma: no cover".
Here's a suggestion on how to do this, feel free to suggest alternatives: A line "pragma: no module cover" in a module will cause it not to be measured. A "pragma: no package cover" in an __init__.py file will cause the entire package, (including any submodules, subpackages, etc.) not to be measured.

Bitbucket: https://bitbucket.org/ned/coveragepy/issue/118

As of commit 1fe897d740ebc67bd1f6493bcc889846f16abf10, you can do this with a multi-line exclusion regex:
[report]
exclude_also =
    (?s)\A.*# pragma: exclude file.*\Z

and then put the comment # pragma: exclude file in the file somewhere.

This is now released as part of coverage 7.6.0.


Laminas does not support union types

Bug Report
Laminas does not support union types

Q
A

Magento
2.4.5-p2

PHP
8.1

Laminas
4.5.0

Summary
When i use some classes with union type as a parametr
i got this issue
Call to undefined method ReflectionUnionType::isBuiltin()#0 /Users/ylutsenko/projects/yorknow/vendor/magento/framework/Code/Reader/ArgumentsReader.php(111):
How to reproduce
Create class with union parametr as  __constructor(SplFileObject|Stream $doc)
Expected behavior
No errors during setup:di:compile

4.5.0 was released forever ago: please upgrade.


better status bar

https://github.com/swift-nav/swift-toolbox/assets/35755741/dc62e006-4a3b-448c-8f6f-f000f79b53d7
changed to per second

Frontend and Release Workflow Started here


Feature request: Find and highlight current note on graph

I love Org-roam-server and its graph view, thanks for the work of putting this together!
When working with roam and the graph, I often find myself wanting to locate and select the current note in the graph.  With a couple hundred notes and a large amount of links criss-crossing them, this is probably my most narrow bottleneck in my org-roam and server back-and-forth work and often I simply just give up because it is not worth the time and effort, but it would be so incredibly nice and useful to be able to do.
Perhaps even an Obsidian-like follow-mode, where the local graph of the current note is always shown in the graph view?

Buffer network view follows the current note that is opened in the emacs.

Buffer network view follows the current note that is opened in the emacs.

Sorry about the noise!

Sorry about the noise!


The bottom of the window is right up to the theme debug buttons. The PC with this issue does not have Visual Studio 2015 installed but it DOES have the MS Build Tools installed. It's running Windows 8.1 32-bit and is not a HiDPI device. I used my script to build it every time and it builds properly on PCs with VS2015, as well as that one without VS2015 before this problem occurred.
I'll have to test this in a VM without Visual Studio 2015 but with the Build Tools.

Something that could help fix this would be to add an option to my build script that allows the user to "clean" the code files when my script is run. The reason why this could fix the problem is that, there could be leftover code files on that PC from when I was having problems with UXL Launcher's main window size not displaying correctly. By getting rid of those files, only the newest changes would be built and any old, leftover files would be removed.


Create a PDF with the output of all notebooks/cells

Initial thought:  automate using papermill to generate the output, then nbconvert to convert each notebook from .ipynb to .pdf.  then concatenate the PDF's

This is not the answer to this question but partially captures it.
I run a command-line command from the terminal (out of the "workshop" directory we created in the beginning of the tutorial) and tar'ed the entire repo:
tar cvf FILENAME.tar DIRECTORY/
Here is the reference link: https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files
Then downloaded the tar file to my loacl comp. It is ~7.2GB and took ~15mins to download.
Thank you!

@BanuSelinTosun i just found out about this project by Jeremy Howard @ Fast.ai:  https://github.com/fastai/fastdoc


FreeRTOS_IPInit always reports failure when STATIC_ALLOCATION=1

FreeRTOS_IPInit always reports failure when configSUPPORT_STATIC_ALLOCATION=1. Looks like in this path the return value isn't updated to reflect success.

Hello @sefthyvoulos, thank you for raising the issue and letting us know about this.
Would you mind letting us know which version of the FreeRTOS+TCP and the FreeRTOS-Kernel are you using? We are looking into this issue. Thank you for your patience.

It looks like the function FreeRTOS_IPInit() forgets to set the return value xReturn in case static allocation is enabled.
I will propose the following change to FreeRTOS_IP.c":
 /* Create the task that processes Ethernet and stack events. */
 #if ( configSUPPORT_STATIC_ALLOCATION == 1 )
     {
         static StaticTask_t xIPTaskBuffer;
         static StackType_t xIPTaskStack[ ipconfigIP_TASK_STACK_SIZE_WORDS ];
         xIPTaskHandle = xTaskCreateStatic( prvIPTask,
                                            "IP-Task",
                                            ipconfigIP_TASK_STACK_SIZE_WORDS,
                                            NULL,
                                            ipconfigIP_TASK_PRIORITY,
                                            xIPTaskStack,
                                            &xIPTaskBuffer );
+        if( xIPTaskHandle != NULL )
+        {
+            xReturn = pdTRUE;
+        }
     }
 #else /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */

I will prepare a small PR for this, thanks for reporting!

The above PR was merged. Thank you @htibosch for making that change.
Thank you @sefthyvoulos for pointing this out. I shall be closing this issue now.
If you have any other issue/problem, feel free to open another issue or reopen this issue.


Waiting for http file to appear

Related to my comment on waiting for the http file in #144, here's a change to do that.
chokidar.watch is supposed to accept an array of files to watch, but when I tried that, I only ever saw "add" events for one file (the last in the array). So no idea what's going on there.  I ended up writing a recursive thing to watch on each file on turn.
Tried it on Mac and Ubuntu.

Looking good to me!
But I do think you should report to chokidar the issue you had with array of files to make the world a better place.

Hopefully we can reduce this code at some point.  Right now I'm scratching my head as to what's going on. I've asked for any ideas for how to investigate this: https://github.com/paulmillr/chokidar/issues/435


Documentation for how to share assets from the host app to the flutter module

cc @gaaclarke, @matthew-carroll

Is this still a valid issue? I'm not sure where to verify if this was fixed or not.

I scanned through the documentation at https://flutter.dev/docs/development/add-to-app and didn't see it covered so it still seems relevant.


False-positive unboundvariable with TYPE_CHECKING

Python extension: v2024.2.1
Pylance extension: v2024.2.3
VScode: 1.85
The issue is self-evident in the screenshot below. Neither mypy, not fkale8, not pylint complain.

Please post a minimal, self-contained piece of code in text format.

The issue is self-evident in the screenshot below
Neither mypy, not fkale8, not pylint complain.

@Kein, are you sure you were getting a diagnostic from Pylance? The screenshot above shows a pylint diagnostic.

are you sure you were getting a diagnostic from Pylance? T

🤦


Change Dockerfile to use non-root user

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

Comparison is base (d86fc4a) 100.00% compared to head (f678eab) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #107   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           23        23
  Lines         1505      1505
=========================================
  Hits          1505      1505

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


Remove unnecessary quoting of args

Found an issue with a kernel, and the root cause was we were adding double quotes to all arguments even when something could have already had double quotes.
E.g. if we have a kernel spec with argv as follows ['connection_file={connectionFile}', 'x="hello world"],
then we update it as follows:
['connection_file=<replaced with real connection file>', '"x="hello world""]
All we need to do is update the {connectionFile} and leave everything else as is, i.e. its wrong to modify any other variables except for connectionFile.

Codecov Report

Merging #10329 (9c71666) into main (ca8090c) will increase coverage by 0%.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           main   #10329   +/-   ##
=====================================
  Coverage    63%      64%
=====================================
  Files       204      204
  Lines      9295     9295
  Branches   1505     1505
=====================================
+ Hits       5934     5957   +23
+ Misses     2893     2867   -26
- Partials    468      471    +3

Impacted Files
Coverage Δ

src/platform/common/cancellation.ts
62% <0%> (-6%)
:arrow_down:

src/platform/errors/errorHandler.ts
62% <0%> (-1%)
:arrow_down:

.../platform/common/process/pythonEnvironment.node.ts
88% <0%> (+1%)
:arrow_up:

src/platform/api/pythonApi.ts
69% <0%> (+2%)
:arrow_up:

...ommon/process/environmentActivationService.node.ts
69% <0%> (+4%)
:arrow_up:

src/platform/common/process/condaService.node.ts
71% <0%> (+5%)
:arrow_up:


Graph syntax doesn't highlight branches

Sublime Text version number: ST3  Build 3143
Git version number: 2.14.1
OS type and version: Xubuntu 17.10
Theme and Color scheme: Material-Theme

Branch (%d in --pretty) highlight support was added in the https://github.com/divmain/GitSavvy/pull/483. But it doesn't work for me.

Please check if it gets the correct scope with moving the cursor the place and run the command show scope name. If it did, then the scope is missing in Material-Theme
Was this ever working for you?  if it did, did you use the same theme?

Thx for reply. It's seems that scope is correct
git-savvy.graph meta.graph.branch.git-savvy constant.other.git.branch.git-savvy


validate the existing NAT gateway configuration before creating pipeline

Summary
When creating a data pipeline, we should check if the NAT is in a public subnet.
Steps to reproduce
Select an VPC which have an NAT in private subnet and create pipeline, the pipeline will create failed.
What is the current bug behavior?
The DataProcessing stack created failed with socket timed out error.
What is the expected correct behavior?
Pipeline create success.
Relevant logs and/or screenshots
Received response status [FAILED] from custom resource. Message returned: Socket timed out without establishing a connection within 5000 ms Logs: /aws/lambda/Clickstream-DataProcessin-GlueTablePartitionSyncer-xxx at Timeout._onTimeout
Possible fixes
Check the NAT whether in publish subnet when create pipeline.

This is :bug: Bug Report

It's similar to #88 in that it validates the misconfiguration network that prevents access to the AWS service endpoints.

closed by #446


Add "No results found" message in YearPickerPage

Details

https://github.com/Expensify/App/issues/16713#issuecomment-1490351440
Fixed Issues

$ https://github.com/Expensify/App/issues/16713
PROPOSAL: https://github.com/Expensify/App/issues/16713#issuecomment-1490351440
Tests

Open your profile.
Click on "Personal Details".
Click on " Date of Birth ".
Click on the " Calender " field.
Click on " year ".
Verify that the "No results found" message is shown when there's no result

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open your profile.
Click on "Personal Details".
Click on " Date of Birth ".
Click on the " Calender " field.
Click on " year ".
Verify that the "No results found" message is shown when there's no result

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@puneetlath @Santhosh-Sellavel One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

🚀 Deployed to staging by https://github.com/puneetlath in version: 1.2.95-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.2.95-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add customSelectIds directly from idx.options.forms vs additional config

@solocommand  I beleive this is what you where getting at in order to limit additional configuration and or it would now just allow for all custom-selects ids that are configured in a give sites identity-x forms fieldRows.
If this is not what you where thinking let me know and I can adjust accordingly.

 Add ability to ask IdX contextual based questions.

 Adjust user flow for Identity-X form gating to avoid double-form for anonymous users


Which REST endpoints are being called by the subreddit.stream.comments()?

I would like to replicate the subreddit.stream.comments() method via directly calling the Reddit REST API. Which endpoints are you using to synthesize the subreddit.stream.comments() stream? What about the subreddit.stream.submissions? Thanks!

Subreddit.stream.comments() makes requests to https://oauth.reddit.com/r/[subreddit]/comments/ and performs some logic on it (checking which posts have already been yielded). You can see the logic for that here, but be aware that there are open PRs and Issues having to do with changing this (#1025, #1043, #1050).
Subreddit.stream.submissions() makes requests to https://oauth.reddit.com/r/[subreddit]/new.
I found this information by using the snippet from Logging in PRAW and then making the requests. It prints output like
Fetching: GET https://oauth.reddit.com/r/[subreddit]/new
Data: None
Params: {'before': None, 'limit': 99, 'raw_json': 1}
Response: 200 (2324 bytes)


tststat works incorrectly

Collators stats works incorrectly:  https://tststat.robonomics.network/

Stats was stopped on block with unknown types. Now its fixed.


feat(segment): expose plugin also as a dynamic

SSIA, makes segment frontend plugin dynamic

I observed an issue but this doesn't seem related to this work so have logged it https://github.com/janus-idp/backstage-plugins/issues/959 but is a quick fix , there is typo visbility to visibility
https://github.com/janus-idp/backstage-plugins/blob/main/plugins/analytics-provider-segment/config.d.ts#L40
https://github.com/janus-idp/backstage-plugins/blob/main/plugins/analytics-provider-segment/config.d.ts#L60


Incremental constrained kmeans across batches

Hi, thank you for making and sharing this repo! This is exactly what I was looking for in my research. I was wondering if might be possible to do constrained Kmeans across batches using this library? I would like to restrict the max points per cluster even when using batches. My dataset is very large and I cannot load the entire thing onto the GPU. However, when I do so, the max points per cluster restriction does not seem to hold anymore. Here is some code to illustrate:
import torch
from torch_kmeans import ConstrainedKMeans

X1 = torch.randn((1, 20, 4))
model1 = ConstrainedKMeans(n_clusters=4)
max_points = 5
w1 = torch.ones(X1.shape[:-1]) / max_points
result1 = model1(X1, weights=w1)
_, counts1 = torch.unique(result1.labels, return_counts=True)
print(counts1)

X2 = torch.reshape(X1, (4, 5, 4))
model2 = ConstrainedKMeans(n_clusters=4)
w2 = torch.ones(X2.shape[:-1]) / max_points
result2 = model2(X2, weights=w2)
_, counts2 = torch.unique(result2.labels, return_counts=True)
print(counts2)

This prints:
Full batch converged at iteration 5/100 with center shifts:
tensor([0.]).
tensor([5, 5, 5, 5])
Full batch converged at iteration 3/100 with center shifts:
tensor([0., 0., 0., 0.]).
tensor([5, 6, 5, 4])

Basically, I am trying to get the counts to still be [5, 5, 5, 5] even when performing batched computation. Thank you!

Dear KarthikGanesan88, thank you for using the torch_kmeans library and opening this issue.
I will check this ASAP and try to resolve this.


Uploading duplicate files

When uploading a duplicate file, a popup will appear saying that it's been uploaded even though the JSON returned indicates that an error occurred.

yea, error handling is kind of garbage right now.  Need to fix.


browser.reload() failing to reload the session when this was called after a failed test

From @nareshnayini on February 26, 2019 18:19
I am encountering issues when trying to use reload after every test when preceding test fails.
Environment:

WebdriverIO version: 4.13.2
Mode: WDIO Testrunner
If WDIO Testrunner, running sync/async: async
Node.js version: 10.5.0
NPM version: 6.1.0
Browser name and version: Chrome 69
Platform name and version: macOS 10.13.5
Additional wdio packages used (if applicable): * wdio-jasmine-framework

Describe the bug
When a test fails, browser.reload() function inside afterTest failing with the below mentioned error. So, browser session is not deleted and it's reloading with session session.
To Reproduce
Steps to reproduce the behavior:
WDIO config:
afterTest: () => {
browser.reload();
},
afterSession: async () => {
await browser.end().pause(1000);
},
after: async () => {
await browser.pause(1000);
},
Expected behavior
It is expected that, upon reload() call, user will be logged out from application and application relaunches.
Log
Error in onReload hook: "Error: Don't end the session manually. This will be done automatically.
at session("delete") - end.js:31:17
at init() - reload.js:40:23
at end() - reload.js:40:17
at screenshot() - saveScreenshot.js:52:17
at reload() - index.js:312:3"
I have looked into other tickets related to this issue but nowhere found the solution. Most of the tickets were closed saying they are inactive.
Copied from original issue: webdriverio/webdriverio#3634

Move reload to beforeTest :)


Events: Multi-day events ending day bug

If adding a multi-day event, the ending day does not contain the event.

In the above case I had to set the end date to Saturday at 12:00am for it to encompass Friday.

When doing multiday events, you have to set BOTH days to full day.


Support GHC 9.8

rejecting: base-<IP_ADDRESS>/installed-e05e (conflict: time-compat => base>=4.5 && <4.19)

Issue opened for tracking.

Fixed by revision 6: https://hackage.haskell.org/package/time-compat-<IP_ADDRESS>/revisions/


Feature request: button repeat on long press

Use case: Many avionics like the G1000 have repeating button events for long press. Like, selecting the vertical speed or airspeed hold value (there are two buttons instead of a rotary wheel). The G1000 map joystick lets you pan the map when you deflect and hold the stick. An engine starter could invoke automatic start once you press and hold a button for a given time. Generally useful for cockpits with simple push buttons, for things that you do not want to do accidentally.
Design

New tabs in InputConfigWizard: Long Press | Long Release

Long press delay: if a button is held pressed for this long, the long press event is invoked. (default: 250ms)

Repeat interval: (default 125ms)

Action type:

Repeat “On Press” event (default)

Fire another event

similar config as in “On Press” tab

None

[Issue created by tigert: 2021-02-13]
[Last updated on bitbucket: 2021-06-08]
[Comment created by tigert: 2021-06-08]
Been thinking about this a bit recently, and wanted to share some thoughts:
Basically we are talking about values that, when triggered, do not immediately change, but rather are passed to a “pipe” that manipulates the value over time in a given fashion, based on the input value.
Simulator input --> [ filter: start value, end value, time, function ] --> Output

A repeat “filter” would have a timer and a function that turns the value on and off based on some parameters (interval, on-time, off-time). You could create a key repeat event with this to your GPS or autopilot button (think G1000 “nose up/down” buttons) or a blinking warning light.
Then you could have animate filter that would use a function to make the change happen over given amount of time. If it is a boolean, it just waits before doing a change. If it is a value change, it would gradually change over the given time. A good example of these is documented here for example: https://developer.roblox.com/en-us/api-reference/enum/EasingStyle. This would be pretty useful for analog gauges
For booleans, you don’t have any intermediate values, so maybe a delay would be the logical equivalent.
And I guess using the animation filter in a repeat would also make sense (more natural looking flashing lights that simulate an incandescent light bulb instead of a led).
I found this kind of library, though I am not sure if I can judge its usefulness, but it seems to have a test app on the demo repository: https://github.com/mobius3/tweeny and https://github.com/mobius3/tweeny-demos for an example demo program.
Additionally, the above library appears to support creating loops, so maybe we could create the whole repeat functionality in it?

[Comment created by tigert: 2021-03-09]
I wonder what would be a use case for keeping repeating buttons in ON position apart from making such a case accidentally, and how big of a problem that would be in practice?
I mean one could for example do beacon and strobe lights with actual leds as a crazy example, using the repeat events of the light switch if those existed - or make a landing gear warning light logic based on throttle position, flap switch and landing gear position. But those are kind of a special case and I don’t think you would get very many of them at once?
On the other hand, having a generic repeating programmable on/off timer might also be useful, for things like blinking warning lights.

[Comment created by DocMoebiuz: 2021-03-02]
Interesting. I first thought of adding the long press / release as a new button event, so that it is actually tracked on the arduino side rather than on the mobiflight connector side (pure software).
I am not really keen on making it configurable on the arduino side because this basically requires a new button type and the upgrade logic for old button types.
Adding long press and long release is really a simple addition to the current firmware. Repeat however is more complicated because I am not sure how well it works if we have several switches in ON position and they all fire repeatedly.
So yeah, it looks tempting to realize it in Software only.
[Comment created by tigert: 2021-02-14]
… ”for things you don’t want to do accidentally, or do want to adjust the value for a larger amount, and there is no rotary encoder.”

Maybe we should have another thought about implementing this in the firmware.
I am using my own button routine for my G1000, where I need the repeat function for the pan knob, with success for a while. I implemented this before the RPN solution was available. This repeat function is part of a set of key functions I used before. Available functions are key press, key release, key repeat, key short press, key long press and key long press repeat.
But not all can be used the same time, they must be grouped into let's say key modes (see below).
However, if this or something similiar should be implemented into the firmware, a new button device has to be defined (due to backwards compatibility). This new device must have the possibility to define a key mode and at least two parameters (time for repeat start and repeat next). This would mean also modifications an the UI side. Also required is a "stable" time base (function must be called every 10ms), but with the changes implemented in the last weeks I do not see a big problem on this topic. The device with the biggest prcessing time is the LCD which takes ~12ms (20x4 characters). That means every time the LCD gets written the processing of the buttons is delayed by 2ms, which will not be recognized by the user (assuming a write to 7Segment will not happen at the exactly same time as to the LCD).
The other effect would be, that 13 Bytes instead of 4 Bytes for the button class is required in the new implemented deviceBuffer. A rough calcution shows that even with this increased memory consumption this fits into the deviceBuffer.
On the config side, which is stored in the EEPROM, this would require 6 more Byte per Button (mode, start time, repeat time plus delimiter). With the new changes only names are stored in the "configBuffer" (now named nameBuffer), so increasing the area in the EEPROM has no effect.
The biggest topic I see for implementing this in the firmware, major changes would be required to use this also for the input shifters. So I am still unsure where the best place would be for implementing, in the firmware (where I am tending to) or the Connector.
At least, these functions are based on threads from a german forum from a long time ago. I just transferred it to a class with minor adaptions.
As mentioned above, following the modes which are possible and which can be combined:

major changes would be required to use this also for the input shifters

I would honestly just say input shifters only support basic buttons for input. From what I've seen it's only ever a handful of buttons on a given panel that need something beyond basic onpress/onrelease, so those buttons can be wired directly to the Arduino.

Ok my thoughts on this: on the one hand it would be cool to have the event come from the arduino firmware. we can extend the IDs for the button events easily. What i am a bit afraid of is that timings like after how many ms is it a long press, after how many ms shall we trigger on repeat and how quickly shall it repeat, etc - the configuration might be even plane specific than button specific.
With these thoughts in mind I believe a software based version might be more flexible and can become plane config specific and it would be easier to extend if new features or modification options are asked for.
If we track the button state on the MF Connector side then we can also easily use them in preconditions.

the configuration might be even plane specific than button specific.

This is a very goog point which absolutely votes for implementing it on the connector side. Hadn't this in mind.


README: add MacPorts install instructions

xq can now be installed via MacPorts on macOS: https://ports.macports.org/port/xq/

Thank you very much for your efforts!


Showing content of downlevel-revealed conditionals for IE

I'm parsing with Jsoup the follwing html and the output html and nodes are different in the result of document.html()
String html = "
"
            + "<![if true]>1<![endif]>" // downlevel-revealed
            + "" // downlevel-hidden
            + "
";
Document document = Jsoup.parse(html);

Output

   1

Expected

   <![if true]>1<![endif]>

And the div document.select("div").first().childNodes() are like this:
class org.jsoup.nodes.Comment
class org.jsoup.nodes.TextNode
class org.jsoup.nodes.Comment
class org.jsoup.nodes.Comment
I would be happy to contribute to an eventual patch if you give me some hints.

I have the same problem.
Any news ?

Hello, @mino181295, our group are interested in your problem and would like to work on this issue. Can we have a try?
——SE 2022 group haha, SUSTech

I don't know that there's a way to implement and maintain compliance to the HTML5 spec. Which is a requirement.
Whatever produced this (some old IE package?) is operating out of spec for a proprietary parser. I don't see it as a priority currently.

Closing, as I don't see a way to implement this within the spec, and I don't see it as something that users are frequently hitting in current systems. Happy to revisit if there's a clean way and a critical mass for the requirement.


Install the Optional SAP HANA Automated Predictive Library Package for SAP HANA, express edition (Preconfigured VM)

Tutorial URL: https://developers.sap.com/tutorials/hxe-ua-apl-vm.html
when I execute step 2, HXEDownloadManager_linux.bin linuxx86_64 vm apl.tgz
I see the below error:
no java in (/hanna/shared/HXE/xs/bin:urs/sap/HXE/HDB90/exe/krb5/bin:usr/sap/HXE/HDB90...........)
this program is generated by unregistered JarExe and it has expired to run for DEMO use
Help please. thanks.

Hi jiayiwangjw  - engineering is looking at this issue. In the meantime, have you considered posting this error issue to the community support Questions and Answers page? https://developers.sap.com/topics/sap-hana.html#community

Actually, on the Q&A page I see others have raised this issue here: https://answers.sap.com/questions/12857573/hxecheckupdatejar-jar2exe-has-expired.html
Here's the workaround:

Developers are working on to fix it asap.
The issue only exists in Download Manager inside the VM/Binary.
The workaround for this issue :
1.)download the SAP Hana Express Download Manager from
https://www.sap.com/cmp/ft/crm-xu16-dat-hddedft/index.html
2.)use the Download Manager to download the new version SAP Hana Express/Optional components.

Closing this issue.

I downloaded SAP HANA EXPRESS via the link you provided. This does not address the issue.

I'm sorry to hear the workaround did not address your issue. Engineering is working on a fix for the JAR problem. In the meantime, I recommend adding this latest issue to the community support Questions and Answers page (link above) describing how the workaround did not fix the problem. That site receives more views than this GitHub repository.

What's the exact error msg with the download Manager that downloaded from https://www.sap.com/cmp/ft/crm-xu16-dat-hddedft/index.html?


Merge upstream

Codecov Report

Merging #156 into v2-master will decrease coverage by 0.19%.
The diff coverage is 35.93%.

@@             Coverage Diff              @@
##           v2-master     #156     +/-   ##
============================================
- Coverage      53.28%   53.08%   -0.2%
============================================
  Files            846      849      +3
  Lines          22152    22339    +187
  Branches        3765     3812     +47
============================================
+ Hits           11803    11859     +56
- Misses         10349    10480    +131


p2p: reliable hole punching

we have dcutr (https://github.com/libp2p/specs/blob/master/relay/DCUtR.md) as a behavior in libp2p, let's do the work to wire it up properly

:rocket: Ping me on any pull request in case you want additional eyes.


Add measurement for Sonos Beam

https://www.sonos.com/en-us/shop/beam

Device information

Home Assistant Device information

Checklist

[X] I have created a single PR per device. When you have multiple submissions please create separate PR's.
[X] For lights - I have only included the gzipped files (*.gz), not the raw CSV files.
[X] For lights - I have provided a CSV file per supported color mode. Look that up in Developer Tools -> States

Additional info

Nice, thanks for the contribution

Thank you so much for the contribution @alvinchen1
Quick question, is this applicable to Gen 2 or Gen 1 Sonos Beam devices?

Hi @mmssantos, I believe mine is a Gen 2, so the measurements are for a Gen 2.
Does looks like Gen 1 and Gen 2 have different Idle Measurements.
https://support.sonos.com/en-us/article/sonos-power-consumption-while-idle
I downloaded the Sonos Diagnostics, and here's the relevant part of data, guessing hardware_version might give us an indicator?
"data": {
"available": true,
"battery_info": {},
"hardware_version": "<IP_ADDRESS>-1.2",
Now sure how we might be able to distinguish between Gen 1 and Gen 2 otherwise.  Could you download your Sonos Diagnostics and see what your data/hardware_version is?

I am also on Gen 2, good to be able to use your measurements, bad to be able to support the creation of new ones for Gen 1.


Update docs for wip-catalog chart

Add instructions for the wip-catalog chart.

I've decided to narrow the scope of this PR to just updating the docs for the wip-catalog chart.

I'd rather get this into master now and fix in follow-ups


state is undefined

I have some reducer:
export default function someReducer (state = initState, action) {
  switch (action.type) {
    ....
  }
}

When i use it with multireducer there is error because action is undefined when multireducer initialize;
To fix it i write that:
export default function someReducer (state = initState, action) {
if (!action) return state;

....
}

or that:
export default function someReducer (state = initState, action = {}) {
  ...
}

@LopatkinEvgeniy I prefer to set default action like in your example above.
Redux dispatches INIT action when app starts. Since we don't rely on that action and call reducer manually to calculate initial state for multireducer - here your bug comes in. Will fix that.


We-are-ols Repo: Stories (A.K.A Blogposts)

[ ] Stories (posts)

(Reminder: Ask Bebatut where the posts dir and images should go)

No longer applies under the new single-website plan - what we have will stay


allow nodata override

https://github.com/developmentseed/titiler-xarray/blob/940c559e811418d068a1ead5fd4274221087c264/titiler/xarray/factory.py#L247-L249
by adding https://github.com/developmentseed/titiler/blob/main/src/titiler/core/titiler/core/dependencies.py#L386-L392
cc @ciaransweet

Ah ok thanks @vincentsarago I didn't realize we don't have that value parameterized when I wrote up #64, but I was specifically referring to the map preview UI form.

🙏 once we add it to the tile endpoint we will do a full round /tiles /tilesjon.json ....

So reading this am I correct in understand this would just be to add the parameter onto a frontend input and wire it in downstream?

yes

yes

I might even be able to figure that out!


Update Furigana Firefox extension recommendation

The old extension we recommended for Firefox has been updated/replaced by the same extension author with a new name of 10ten.
Changes proposed in this pull request:

Updated link and name to account for 10ten

@JenKay, just a reping since I think this PR is waiting on a review.

@vietqhoang Oh wow, completely missed this one. I just approved it but the branch is out of date with the base branch...which one do I click? "update with merge commit" or "update with rebase"?

@JenKay either works, but the more safer option would be to update with merge commit.


[SPARK-38001][SQL] Replace the error classes related to unsupported features by UNSUPPORTED_FEATURE

What changes were proposed in this pull request?
In the PR, I propose to re-use one error class UNSUPPORTED_FEATURE in the following Spark's exceptions:

QueryCompilationErrors.unsupportedIfNotExistsError - when IF NOT EXISTS is not supported by INSERT INTO.
QueryExecutionErrors.aesModeUnsupportedError - when an user specify unsupported AES mode and padding.
QueryExecutionErrors.literalTypeUnsupportedError - impossible to create a literal from the input value (some Java class, for instance).
QueryExecutionErrors.transactionUnsupportedByJdbcServerError - the target JDBC server does not support transaction.

And replace the following exceptions by IllegalStateException since they are internal, and should be not visible to users:

QueryExecutionErrors.simpleStringWithNodeIdUnsupportedError - a sub-class of Expression or Block doesn't implements the method simpleStringWithNodeId().
QueryExecutionErrors.dataTypeUnsupportedForWriterFuncError - generating of a writer function for a struct field, array element, map key or map value doesn't support Catalyst's type.

Also, added new base test suite QueryCompilationErrorsDSv2Suite for testing DSv2 specific compilation error classes.
Why are the changes needed?
Reducing the number of error classes should prevent from explode of error-classes.json. Also, using one error class for similar errors should improve user experience with Spark SQL.
Does this PR introduce any user-facing change?
Yes.
How was this patch tested?
By running the affected test suites:
$ build/sbt "test:testOnly *SparkThrowableSuite"
$ build/sbt "test:testOnly *QueryExecutionErrorsSuite"
$ build/sbt "test:testOnly *DataSourceV2SQLSuite"
$ build/sbt "test:testOnly *DataSourceV2DataFrameSessionCatalogSuite"
$ build/sbt "test:testOnly *DataFramePivotSuite"

and the new test suite:
$ build/sbt "test:testOnly *QueryCompilationErrorsDSv2Suite"

@cloud-fan Could you look at this one more time, please.

jenkins merge


[FEATURE REQUEST] -q Flag (same detail, less frequent updates)

Is your feature request related to a problem? Please describe.
Nope. Refer to previous post on the love of this script.
Describe the solution you'd like
To change (or have a different -q flag) for:

Describe alternatives you've considered
Using -q works but I would prefer to have all the information but the time visible. Or to show progress only once it has found a URL or String.
Additional context
My reasoning for this is I use TMUX and I have it set to notify me on panes when something appears in the HUD. Useful for notifying me well-running an HTTP server and picking up the request... or doing further enumeration well exploring other ports. Having this feature would mean I would only get a notification when a URL/string was found.

So, we meet again... Thanks for the new request!
If I understand this correctly, you're wanting something similar to --no-status-bars?  The functionality could be something like
200       253 http://internal-01.bart.htb/LOG/LOG.php
...
Scanning: http://internal-01.bart.htb
Scanning: http://internal-01.bart.htb/LOG

The portion you've highlighted isn't the only thing that updates frequently (basically everything in the bars except for the directory falls into this category).

Thanks for the quick response! Yes, something similar which provides updates only when an entry is found. I might be asking the silliest question to date but I tried --no-status-bars at the begging, middle, and end of my string and I keep getting errors. Is this meant to be used with only a specific syntax:

My bad, I could have been more clear.
I meant that a new flag could be added (--no-status-bars) that would essentiallly remove the status bars.  You're correct that it doesn't currently exist.
Did my summary above seem like it would satisfy the request?

Haha no problem at all. I saw it on another request before you mentioned it and thought it was already implemented. Yes, that would be awesome down the pipe if you could and thanks for your time.

Thinking about this, we could do a -q that increases in the amount of quiet, similar to how -v works.

-q => no status bars, similar to what's proposed above.
-qq => current -q behavior where only the results are printed (for use in piped output etc)

Add new command line option checklist

[ ] config.rs

[ ] add new value to Configuration struct
[ ] update Configuration::default with new value
[ ] update Configuration docstring with the new value/default (if appropriate)
[ ] update Configuration::new so that the new value is stored in config
[ ] update Configuration::merge_config with new value
[ ] update Configuration::tests::setup_config_test with new value
[ ] add unit test to check config parsing

[ ] ferox-config.toml.example

[ ] add new value to example config

[ ] banner.rs

[ ] add new check for the value in banner::initialize
[ ] create new entry to be written in the banner for the new value

[ ] add new emoji to the entry (should be somewhat related to the value name)

[ ] add new integration test (tests/test_banner) or update existing so that it's displayed under test

[ ] Cargo.toml

[ ] bump version: add 1 to minor release and set patch release to 0

[ ] README.md

[ ] update default config section (if needed)
[ ] update example config file section
[ ] update help output section
[ ] add an example with a heading that conforms to others (new in v1.4.0...)

[ ] add an entry for the example in the table of contents

[ ] parser.rs

[ ] add the option to the parser

[ ] wherever.rs

[ ] implement the new feature

Yes, that makes perfect sense above. As in my situation I tend to use TMUX with notification panes running. Having a flag that allows me to get an update when it hits an active link with a running time interval or the current state (25066/40230 from the example above). This would give me the information I need without the constant update of the pane itself.

another option: -q|--quiet and --silent to denote the difference between the two

And how about to have a --silent that do not prompts the error messages?

another option: -q|--quiet and --silent to denote the difference between the two

And how about to have a --silent that do not prompts the error messages?

I'd be ok with that.  I've been thinking about how best to break out the error messages (specifically the ones that can spam the terminal) from the ones that are meaningful.  Know that it's on my mind and something I plan to address.

ok, this will be in v2.0.0.
    -q, --quiet            Hide progress bars and banner (good for tmux windows w/ notifications)
        --silent           Only print URLs + turn off logging (good for piping a list of urls to other commands)

--quiet output:
302        0l        0w        0c https://localhost.com/Login
200      126l      281w     4091c https://localhost.com/maintenance
200      126l      281w     4092c https://localhost.com/terms
... more individual entries, followed by the directories being scanned ...


SimpleHeater: the set temperature is doubled

First of all I would like to thank you for your work here - great plugin!
I use a smart thermostat (BHT-002-GBLW) als a simpleHeater.
In the config I use "temperatureDivisor": 2 to become the right temperatur from my thermostat
This works fine so far.
If I now set the temperature manually in the Apple Home app (e.g. to 20 degrees) the set tempetature will be doubled and springs to 40 degrees.
Without use "temperatureDivisor" all ist fine (but I habe the wrong room temperature).
Environment (please complete the following information):*

OS: macOS Catalina
iOS version: 13.7 & 14 beta
Homehubs: Hoods 3.2.6
Node Version: 12.13.1
Plugin Version: 1.0.5
Accessory Type simpleHeater

Additional context
{
"platform": "TuyaLan",
"devices": [
{
"name": "thermostat",
"type": "SimpleHeater",
"manufacturer": "Branded",
"model": "Wifi Thermostat",
"id": "xxxx",
"key": "xxxx",
"temperatureDivisor": 2
}
]
}

I have the same problems.
Presse bug fixing.
thank you verry much

@iRayanKhan du you have any tips?

Hi there, I'm not sure why your thermostat would do that. I could try to make a custom accessory (no guarantees) to just divide the temperature display in half, and retain the normal temp. I'm backed up so this may take awhile before I can get to it.

I'm also facing exactly the same issue. Would be great, if you could add the custom accessory! Thank you!

Having the same issue for quite some time. Everything is great, "temperatureDivisor" is set to 2 and everything shows up correctly except when i change the set temperature, its not divided when homekit updates the accessory status after sending the command. If i set 25 degrees, my thermostat changes to 25, but homekit jumps to 50 immediately, after some time it shows up correctly again.
video

I don't have a device to test this, or a test harness, but this is the only reason I could see for incorrect reporting. Would someone care to add some extra logging and test?
This block of code here sets the target temperature, taking the divisor into account before sending the updated value to the device.
    setTargetThresholdTemperature(value, callback) {
        this.setState(this.dpDesiredTemperature, value * this.temperatureDivisor, err => {
            if (err) return callback(err);

            if (this.characteristicHeatingThresholdTemperature) {
                this.characteristicHeatingThresholdTemperature.updateValue(value);
            }

            callback();
        });
    }

So for your target value of 25, setState gets given 50 with your divisor of 2.
Just before the call to this line, can someone log what value actually is? Or even better a log line before setState too
                this.characteristicHeatingThresholdTemperature.updateValue(value);

@dhutchison how can i do that?

Hello, I can't see from the text exactly what you need to be able to help. It may be that my english is so bad.
Should the log be sent that is written to the system.log when the thermostat is switched on? I don't see any changes in the code that I could test with customizations.
I had already tried to adapt code in certain places. Unfortunately unsuccessful.
Good night

My guess is that when accessory changes (either through HomeKit or via just changing the temp on the thermostat), the plugin doesn't use the temperatureDivisor. So its gotta be somewhere here
`if (changes.hasOwnProperty(this.dpDesiredTemperature)) {
if (characteristicHeatingThresholdTemperature.value !== changes[this.dpDesiredTemperature])
characteristicHeatingThresholdTemperature.updateValue(changes[this.dpDesiredTemperature]);
}
        if (changes.hasOwnProperty(this.dpCurrentTemperature) && characteristicCurrentTemperature.value !== changes[this.dpCurrentTemperature]) characteristicCurrentTemperature.updateValue(changes[this.dpCurrentTemperature]);

        console.log('[TuyaAccessory] SimpleHeater changed: ' + JSON.stringify(state));
    });
}

`
I know nothing about coding, so its up to you to fix it.

Okay, I somehow fixed it, I just put the temperatureDivisor everywhere I could, but it works just fine now
            if (changes.hasOwnProperty(this.dpDesiredTemperature)) {
                if (characteristicHeatingThresholdTemperature.value !== changes[this.dpDesiredTemperature * this.temperatureDivisor])
                    characteristicHeatingThresholdTemperature.updateValue(changes[this.dpDesiredTemperature * this.temperatureDivisor]);
            }

            if (changes.hasOwnProperty(this.dpCurrentTemperature) && characteristicCurrentTemperature.value !== changes[this.dpCurrentTemperature]) characteristicCurrentTemperature.updateValue(changes[this.dpCurrentTemperature * this.temperatureDivisor]);

            console.log('[TuyaAccessory] SimpleHeater changed: ' + JSON.stringify(state));
        });
    }

it works perfect. great

Sorry for the stupid question, but how can I implement the changes of fupzlito? I have a Rasperry Pi 4 running HOOBS. When I log into HOOBS via hoobs.local, I can only change the config file.
Thank you very much!

@marvelousmo the fix should be n the next release of the plugin.
If you dont want to wait, you could replace the file homebridge-tuya/lib/SimpleHeaterAccessory.js with the fixed one from github
You’ll have to look up where HOOBS keeps its plugins to do that

@fupzlito Thank you very much! So I'll wait for the next update :-)

So I made it to change the code in SimpleHeaterAccessory.js as you proposed in

if (changes.hasOwnProperty(this.dpDesiredTemperature)) {
if (characteristicHeatingThresholdTemperature.value !== changes[this.dpDesiredTemperature])
characteristicHeatingThresholdTemperature.updateValue(changes[this.dpDesiredTemperature]);
}
        if (changes.hasOwnProperty(this.dpCurrentTemperature) && characteristicCurrentTemperature.value !== changes[this.dpCurrentTemperature]) characteristicCurrentTemperature.updateValue(changes[this.dpCurrentTemperature]);

        console.log('[TuyaAccessory] SimpleHeater changed: ' + JSON.stringify(state));
    });
}

... but unfortunately it didn't work for me (restartet homebridge server and even the whole rasperry pi). have to wait for an updated plugin version I guess... Thanks anyway!

Hey, i got the same Problem at "Heat Convector"
Can you add the "temperatureDivisor" also for that device type?
best,
chris


Upgrading array-move

Description
bumping array-move instead of
https://github.com/source-academy/frontend/pull/1925

This is not updated yet. Requires some tweaks to our jest config due to lack of CommonJS support in this module.
Alternatively, we can just rewrite the function ourselves. Will just be a few liner.

Ah, I see. Sorry. Which way should we go with this?

Just looked through the underlying implementation, v3.0.1 is essentially the same as v4, the only difference being the renaming of some variables.
I guess we can keep the current version then.