change actions not firing with material-ui react components

I'm trying to use the material-ui react components with react-redux-form.
I have a material-ui toggle that i'm passing into a control for a checkbox.
  toggleHidden = (model, value) =>{
    this.props.dispatch(dispatch => {
      dispatch(actions.toggle(model, value))
    });
  }

 <Control.checkbox
  className="form-control"
  model=".hidden"
  updateOn="change"
  changeAction={this.toggleHidden}
/>

this works file with vanilla rrf, but now i'm trying to get more into customized components.
  import Toggle from 'material-ui/Toggle'

  toggleHidden = (model, value) =>{
    this.props.dispatch(dispatch => {
      dispatch(actions.toggle(model, value))
    });
  }

 <Control.checkbox
  className="form-control"
  model=".hidden"
  component={Toggle}
  updateOn="change"
  changeAction={this.toggleHidden}
/>

The problem i'm having here is that change does not fire anymore on clicking the toggle element. If I modify updateOn="focus" then it will actually update the redux state. I'm struggling to figure out why change will not fire on click

Can you put up a reproduction on www.esnextb.in? You can use this code as a starting point:
import React from 'react';
import ReactDOM from 'react-dom';
import { LocalForm, Control } from 'react-redux-form';
import Toggle from 'material-ui/Toggle'
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';

class MyApp extends React.Component {
  handleChange(values) { console.log({values}) }
  handleUpdate(form) { console.log({form}) }
  render() {
    return (
      <MuiThemeProvider>
        <LocalForm
          onUpdate={(form) => this.handleUpdate(form)}
          onChange={(values) => this.handleChange(values)}
        >
          <Control
            className="form-control"
            model=".hidden"
            component={Toggle}
            updateOn="change"
          />
        </LocalForm>
      </MuiThemeProvider>
    );
  }
}

ReactDOM.render(<MyApp />, document.querySelector('#app'))

Mystery solved - Material-UI's <Toggle> component uses onToggle, not onChange (for whatever reason... :roll_eyes:), so to make changeAction work, you need to map onToggle to onChange like this:
          <Control
            className="form-control"
            model=".hidden"
            component={Toggle}
+           mapProps={{onToggle: (props) => props.onChange}}
            changeAction={(model, value) => {console.log(model,value)}}
          />

Oh man I really appreciate you digging deeper on that. It was a low priority styling thing for me so I didn't have a chance to jump on the reproduction request. When I get back around to styling I'll give this a shot. Either way thanks - you the best.


[Feature Request] The dialog can be dragged

Existing Component
是
Component Name
Dialog
Description
Dialog组件允许拖动header位置改变弹出框位置

Sorry, we have no plan to support this.


Add data quality information to CAFs.

The DataQuality package still needs fleshing out some, but I've added the existing spill-level and event-level dq metrics to the CAFs. NOTE: Trigger coincidence not implemented yet in DQ module. Need to determine thresholds for each PMT.
Other miscellaneous changes:

Minor addition to .gitignore
Added phase1b alignment file. Without it most (if not all) 1b jobs seg fault.
Fixed seg fault in MakeSingleTracks for subruns/spills without any clusters.
Changed symbolic names in various CAF Filler headers to all caps.
Did some general rearrangement (mostly alphabetization and some spacing) in the files I was editing anyways.
Renamed hist files for CAFMaker (not the CAF file) to include run/subrun number.
Removed outputs section from prod_reco_caf_job.fcl. This job doesn't currently output an art file.

Will do. This change is relatively minor; it looks like more because I added an if so the spacing changed in 12 lines. I was explicitly testing on a spill marked as bad to check that the run status was working correctly in the CAF, so I suspect the seg fault isn't an issue for the majority of files.


Bug: Regular CPU spikes on Linux

Problem
Mintter is boiling the ocean! Takes >50% of my CPU hostage in regular intervals. If I had to guess it's something p2p but I have no way of knowing.
Steps to Reproduce
Run 2023.11.05 Mintter release on Linux.
Expected Behavior
Smooth sailing.
Debug Info

The app freezes when CPU is spiking.

It's very regular and it freezes the app :man_shrugging: . Only thing I did is accept the default connection to mintter.com nothing else.

hey @kilrau I did a fixup here https://github.com/MintterHypermedia/mintter/commit/ca11dc8dfedb25e8ef1e180afd885a58021fdf7d
You can use the last release candidate to see if this still happens

Closing due to inactivity. Feel free to reopen if the issue pops up again


Sign the assemblies.

Fixes #36

Sorry it took so long to respond, but just cleaning some stuff up in this project.
I have no intention of signing assemblies (for reasons why, see the discussion here). If you need signed assemblies, you can always sign them yourself.


feat(applications-service-api): upload submission file to blob storage

Describe your changes
ASB-1830
Builds upon https://github.com/Planning-Inspectorate/applications-service/pull/850 to add functionality for uploading file to Azure Blob Storage container, and publishing the location/path in the message to the message queue.
Also restructured the integration/submission.test.js test to have smaller, more specific assertions in each it.
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[x] I have made corresponding changes to the documentation
[x] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.18.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update README.md

Description

Additional context

What is the purpose of this pull request?

[X] Bug fix
[ ] New Feature
[X] Documentation update
[ ] Other

@liuweiGL ready for review.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Why Need To Upload Json File

Can I use the Url which Returns the same format of JSON?

Sure. Use .setUpdateJSON("https://another-server.com/update.json").


syndicate posts despite "Could not find a tweet to reply to."

I often reply to websites but would like to post the reply to twitter, even though it is out of context.
Readers to follow the link to find out what i am talking about.
If I reply to a web-url and specifically tag it to syndicate to twitter, I would like it to still syndicate to twitter.

As an example
https://www.brid.gy/log?start_time=1423487412&key=aglzfmJyaWQtZ3lyaAsSDVB1Ymxpc2hlZFBhZ2UiQWh0dHBzOi8vYmVuLnRoYXRtdXN0YmUubWUvcG9zdC8yMDE1LzIvOS8xL3NvY2lhbF9hcGlfdXNlcl9zdG9yaWVzDAsSB1B1Ymxpc2gYgICAgICAgAoM

interesting idea! definitely sounds reasonable to support.
the catch is, people also often try to use bridgy publish to POSSE a reply to a tweet but get the in-reply-to link wrong, or accidentally use brid.gy/publish/twitter when they meant to use brid.gy/publish/facebook, etc. this check helps them. i'm not sure yet how to reconcile the two use cases.

I think its better to assume the user is doing things correctly than to assume incorrect.
There are probably some situations that can be filtered.  If a in-reply-to is a twitter URL or Facebook URL, then perform by current methods, otherwise ignore the in-reply-to and post as a standard note.

i wish that was true! sadly, there are dozens of bridgy publish attempts every day that are wrong in various ways, and mismatched in-reply-to and bridgy link is one of the most common. (i can tell because invariably the person fixes it and makes another attempt with the right in-reply-to or bridgy link minutes later.)

one possible workaround is to publish your post without the in-reply-to link, trigger bridgy publish (via either webmention or the form on your user page), then add the in-reply-to link after. annoying, but it'd work.

thats what i have done in the past, the most annoying is when it is on an article which i edit via html rather than just text (on notes etc) and I don't have edit functionality for it yet, so "Editing" an article post is actually just changed the DB directly

My analysis of this use-case (POSSEing a reply to something that is not a tweet nor has a POSSE tweet copy) is here, and is roughly what I've implemented in Falcon's code to POSSE reply posts to Twitter: https://indiewebcamp.com/Twitter#original_lacks_POSSE_tweet

@singpolyma also votes for this for reposts in #555.

For the accident use case. Could add force_any_context=1 optional param (similar to include_link) to enable this

I'm -1 on this proposal, per https://github.com/snarfed/bridgy/issues/527#issuecomment-158535263
It adds a lot of decision making (based on personal preferences) that Bridgy just isn't at the right layer to make.

agreed, sorry. #527, definitely. i already regret the two user facing options bridgy publish does have, whether to include a link and (especially) whether to ignore formatting.

to be clear, I'm -1 on this whole issue, not Stephen's force_any_context proposal specifically ;)


moved the comment to the right div

What changed

moved the comment block to the right div

Issues

#231

Screenshot
Before:

After:

Sweet. @hamhands does this fix the issue on beacon too?

Does this fix #233?

@shellicious yes, it fixes the applinks for all apps
@bsmithgall no, I made #233 after opening this PR.

:+1: I would say that #114 related work is more important that #233 for now.

@bsmithgall agreeeeeeeed!


ARM64 Support

Hi Team,
I am trying to use “pivnet-resource” over ARM64v8 but it seems it does not have an arm64 supported tag available in docker hub. So, I have tried building it locally, for that I have first created the binaries using script and then been able to successfully create an arm64 image using the Dockerfile available.
ARM64 Image: https://hub.docker.com/repository/docker/odidev/pivnet-resource_arm64
Do you have any plans for releasing an ARM64 image?
Currently, we can build this image directly on arm64 without any code changes. It will be helpful if the arm64 image is released.

We don't currently have any plans to release ARM images


Nested alias

closes #537 , apache/arrow-datafusion#2867
origin nestedjoin doesn't have alias. this pr add alias for nestedjoin

help wanted.
this pr break this test
    let res = snowflake_and_generic().parse_sql_statements("SELECT * FROM (a NATURAL JOIN b) c");
    assert_eq!(
        ParserError::ParserError("Expected end of statement, found: c".to_string()),
        res.unwrap_err()
    );

Could anyone tell me how to deal with this?
thanks~

i made another draft pull request


Change the default background to something darker

Hi,
When we need to restart improviz in the middle or between sets it would be nice if the whole screen does not blind the audience with an all white screen.
So can it either be set to something darker like background(50) or changeable in the impriviz.yaml settings ?
/sørenpeter

hey, so this totally makes sense, and in theory should be pretty easy to sort, but there's a bit of a problem at the moment.
I upgraded my mac to the latest OS, forgetting that apple removed OpenGL from it, and I'm now no longer able to build improviz... which is kind of a major issue :(
I'm gradually working on some possible fixes, but yeah it's not an ideal situation. will keep you in the loop though

Hi, Damn yeah that sucks. What about installing linux?

It's definitely on the cards, though I still won't be able to create the prebuilt versions for osx. For the last release I had to create those manually, and I've realised now it's because all the osx virtual machines that the CI services use have upgraded to more recent versions and so don't have opengl either hah


Jupyter server crashed. Unable to connect. Error code from jupyter: 1

Issue Type: Bug
From #10519
Repro

With a script:

import time

i = 0

while True:
    time.sleep(1)
    print(i)
    with open('x', 'w') as f:
        f.write(str(i))
        i += 1

Use run active file in interactive window
Use the Interrupt kernal command to stop it
Close the interactive window
Now use run active file in interactive window again

bug
See the notification:
Jupyter server crashed. Unable to connect. Error code from jupyter: 1

Starting Jupyter from /usr/bin/python3 with command line --no-browser --notebook-dir=/var/folders/5d/nlg411_s0570wmycdwkgqrf40000gn/T/a79fa1e1-0071-4f48-b091-335c17bb2d58 --config=/var/folders/5d/nlg411_s0570wmycdwkgqrf40000gn/T/a79fa1e1-0071-4f48-b091-335c17bb2d58/jupyter_notebook_config.py --NotebookApp.iopub_data_rate_limit=10000000000.0
Traceback (most recent call last):
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/matb/Library/Python/3.7/lib/python/site-packages/jupyter.py", line 10, in <module>
    run_module('jupyter_core')
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/runpy.py", line 208, in run_module
    return _run_code(code, {}, init_globals, run_name, mod_spec)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/matb/Library/Python/3.7/lib/python/site-packages/jupyter_core/__main__.py", line 3, in <module>
    main()
  File "/Users/matb/Library/Python/3.7/lib/python/site-packages/jupyter_core/command.py", line 247, in main
    command = _jupyter_abspath(subcommand)
  File "/Users/matb/Library/Python/3.7/lib/python/site-packages/jupyter_core/command.py", line 134, in _jupyter_abspath
    'Jupyter command `{}` not found.'.format(jupyter_subcommand)
Exception: Jupyter command `jupyter-notebook` not found.

Extension version: 2020.4.67630-dev
VS Code version: Code - Insiders 1.44.0-insider (ef75c4bb445e5021065cf0012cfa2c66e55bfa16, 2020-03-11T09:09:04.033Z)
OS version: Darwin x64 19.3.0

Thanks but I'm not able to repro. Did you perhaps interrupt before the server even started?

Can you run any cells? What if you put this into a python file:
# %%
print('foo')

and then click on the Run cell code lens? Does that give you the same error?

Yeah if you're not getting this at the top:

Then that means the server never actually started. That's why your script never shows anything. Jupyter never runs.

How did you install jupyter?

I installed Jupyter using your extension.
I believe I interrupted after seeing output from the script (but also, running a command should never be able to cause a crash like this)
Once I get into this state, running that cell also triggers the same error

but also, running a command should never be able to cause a crash like this

Sure and it's a bug. I'm trying to figure out the root cause. It looks to me like jupyter is not installed correctly. At least we've had similar problems with jupyter in the past.
What happens if you open a python terminal (Python: Create Terminal command) and type jupyter notebook --version

Yes I think that was it. After running pip uninstall jupyter and then pip uninstall jupyter. I'm not sure what was going on with first install but I can no longer reproduce this after reinstalling jupyter (does the install from the python  extension just  run pip as well?)
I will let you know if I hit this again

Thanks. We hope to eliminate the need for jupyter in the near future.


wal: correctly set nextTx on Truncate

On Truncate(k), if k was logged to the WAL the behavior is unchanged. However, if k had not yet been logged to the WAL, the WAL performed a full reset of the WAL and set the next expected txn to k+1. This is incorrect, since the semantics of truncate are that k becomes the first entry in the WAL after truncation.

This was found by DST and fixes a data loss bug (previously k would've been incorrectly dropped after a snapshot)


Add AR Zone

Description

com.samsung.android.arzone
in.swiggy.android (https://play.google.com/store/apps/details?id=in.swiggy.android)
sarangal.packagemanager (https://play.google.com/store/apps/details?id=sarangal.packagemanager)

Fixes #(issue)
Type of change

:x: Bug fix (non-breaking change which fixes an issue)
✅ Icon addition (non-breaking change that adds/modifies Lawnicons's icons)
:x: General change (non-breaking change that doesn't fit the above categories like copyediting)

Icons addition information
Icons added

Samsung AR Zone(com.samsung.android.arzone)
Swiggy (in.swiggy.android)

@Goooler


Comply with the original license

This editor was forked from https://github.com/BertrandBev/code_field
which uses MIT License. It means we must do one of the following:

Mention the original author. Learn if MIT allows re-licensing to Apache license we currently use.
Mention the original author. Re-license our fork to MIT license.
Ask the original author to re-license the code under Apache license or public domain license.

it seems like our License already mentions the author. Alexey, can you please explore, do we need to put the license info to each of the files at the top?

License in each file is not required:

No. This is strictly an ASF policy. Other projects using the Apache License should still refer to the license's appendix for guidance on applying a header to their source files.

https://www.apache.org/legal/src-headers.html#faq-nonasf


dwinormalization should be replaced with mtnormalization

The b0-normalisation with dwinormalise in
https://github.com/sotnir/NENAH-BIDS/blob/dc115bbff5fad52aa14938a0f693ae84dda8104f/dMRI/preprocess_QC.sh#L268-L291
should be replaced with a mtnormaliseas a last step in csd.sh

So, we should not use the output from dwinormalise (i.e. file dwi_preproc_norm-ind.mif.gz) for further processing in the pipeline. It can be kept for generating meanbXXXs and dti
So the input to dMRI/response.sh should be which instead should be dwi_preproc.mif.gz. This means that we should change


🍒 Cherry pick PR #14791 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/14791 to staging 🍒

🚀 Cherry-picked to staging by https://github.com/OSBotify in version: 1.2.64-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/thienlnam in version: 1.2.64-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.2.64-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.2.64-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.28-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Typo in README.md

You say to build the fap:
cd ~/flipperZero/official/
./fbt firmware_bc_demo

But I guess you mean:
cd ~/flipperZero/official/
./fbt fap_bc_demo

Trying to get it running on my device, it builds ok with /fbt fap_bc_demo, but the command:
./fbt launch_app APPSRC=bc_demo
fails with this python backtrace:
TypeError: cannot unpack non-iterable FlipperExternalAppInfo object:
  File "/home/flipperzero-firmware/SConstruct", line 49:
    firmware_env = distenv.AddFwProject(
  File "/home/flipperzero-firmware/toolchain/x86_64-linux/python/lib/python3.9/site-packages/SCons/Util.py", line 737:
    return self.method(*nargs, **kwargs)
  File "/home/flipperzero-firmware/scripts/fbt_tools/fbt_dist.py", line 42:
    project_env = env[fw_env_key] = create_fw_build_targets(base_env, fw_type)
  File "/home/flipperzero-firmware/scripts/fbt_tools/fbt_dist.py", line 26:
    return env.SConscript(
  File "/home/flipperzero-firmware/toolchain/x86_64-linux/python/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/flipperzero-firmware/toolchain/x86_64-linux/python/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "/home/flipperzero-firmware/firmware.scons", line 147:
    fwenv["FW_EXTAPPS"] = SConscript(
  File "/home/flipperzero-firmware/toolchain/x86_64-linux/python/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 660:
    return method(*args, **kw)
  File "/home/flipperzero-firmware/toolchain/x86_64-linux/python/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/flipperzero-firmware/toolchain/x86_64-linux/python/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "/home/flipperzero-firmware/site_scons/extapps.scons", line 101:
    app_manifest, fap_file, app_validator = appenv.GetExtAppFromPath(appsrc)

Any idea?

First off, thanks for the correction regarding ./fbt fap_bc_demo
I have just done a git pull to ensure I'm on the latest FZ codebase, and tried ./fbt launch_app APPSRC=bc_demo and everything is working as expected here :-/
I can only guess this is the result of a change elsewhere in your system.
I will leave this issue open in case someone else can reproduce/resolve it.

Issue is stale - please re-open if required

Issue is stale - please re-open if required


Integrate node-pre-gyp

Any thoughts on leveraging node-pre-gyp as a means to avoid users having to compile on install? I'm finding the bulk of time spent during an npm install when using a module such as watchify is spent during the install of chokidar which has an optional dependency of fsevents.
https://github.com/mapbox/node-pre-gyp
https://github.com/mapbox/node-pre-gyp#travis-automation

Would you be interested in taking a stab at configuring this and sending a PR?

Sure I'll try and find some time in the next week or so to take a look
On Thu, Mar 19, 2015 at 12:31 AM, Elan Shanker<EMAIL_ADDRESS>wrote:

Would you be interested in taking a stab at configuring this and sending a PR?
Reply to this email directly or view it on GitHub:
https://github.com/strongloop/fsevents/issues/57#issuecomment-82971764

@es128 I've submitted a PR for this so we can shift future discussion concerning this to there.
#59


Release v1.2.2

Motivation
Gnosis Bellatrix is scheduled for Nov 30th, in ~ 7 days. Since 1.3.0 is not ready yet, release a hotfix including just this parameters
Description
Schedule Gnosis merge

Upstream config PR: https://github.com/gnosischain/configs/pull/3
Nethermind PR: https://github.com/NethermindEth/nethermind/pull/4901
Public announcement: https://twitter.com/gnosischain/status/1592589482641223682

@dapplion some Browser tests failed


Set selected background for chat message

We show background on hover, but gets lost when popup is selected.
This fixes that.

@keybase/react-hackers


improve ignore_run_exports, don't refer to -ng packages

Xref https://github.com/conda-forge/ctng-compilers-feedstock/pull/148
Fixes #17

PPC is going to fail on travis conda-forge/status#185; we could change this to cross-compilation, but given that the content of the package is essentially only CMake metadata, we could also just make this noarch: generic and just build it once? Thoughts @conda-forge/ldas-tools-cmake?

@h-vetinari, I have made this noarch: generic but with separate builds for unix and Windows because the Windows files go into <prefix>\Library\; is that the best thing to do here?

I have made this noarch: generic but with separate builds for unix and Windows because the Windows files go into <prefix>\Library\; is that the best thing to do here?

That's a great point, and is exactly the right way to fix this IMO. 👍 from me.


Add Avatar as Ready on component status page

Area
Website
The problem
The avatar component has been released as part of the Figma components, but is not reflected within the component status page.
The solution
Indicate Avatar as Ready on the Salt website component status page.
Alternatives and examples
Indicate Avatar as Ready on the Salt website component status page.
Are you a JPMorgan Chase & Co. employee?

[X] I am an employee of JPMorgan Chase & Co.

I looks like the change has already been made in the code. I guess we just need to publish the updates. On it...

Done


Add user "stephenharker" to admins.

Added myself to the admin user list.

This was the old way of doing this, please do it like this: https://github.com/alphagov/govuk-terraform-provisioning/pull/110

I think I've fixed it now :)


Splash not dealing well with url fragments

Urls that use fragments as javascript parameters are not being correctly parsed i.e: http://www.example.com#/?pl=80&page=2

Could you please provide an example? What request do you send to Splash?

@Venereo If you're using Scrapy for your spider, I think its more to do with Scrapy's implementation of the Request class. I got around this by implementing my own Request class that doesn't attempt to clean or encode the url string passed to it.
class RawRequest(Request):
    """Do not apply any encoding or safe string checks on the url.

    """
    def _set_url(self, url):
        self._url = str(url)

@cr8ivecodesmith nice catch, we should fix it in scrapy-splash/scrapyjs.

I got the same problem and I found that escape_ajax function in Request class is changing the # to _escaped_fragment_.
from scrapy.utils.url import escape_ajax
url = 'https://www.google.com/about/careers/search#!t=jo&jid=166355001&'
print escape_ajax(url)
# result: 'https://www.google.com/about/careers/search?_escaped_fragment_=t%3Djo%26jid%3D166355001%26'

scrapy version: 1.0.5
python version: 2.7.10

Have you tried creating your own request class to avoid the URL cleanup?

@cr8ivecodesmith, I did that using your code,RawRequest. It works perfectly on my computer but it fails in Scapy Cloud. I think Scrapy Cloud cleanup the Requests.

@matiskay, I have encountered the same behavior in Scrapy Cloud. The issue as I have observed had to do with request serialization. This is because the JOBDIR setting is enabled for each job run in Scrapy Cloud. I read this somewhere but can't find the link anymore. You can confirm this by enabling it on your computer even with the RawRequest class being used.
I wasn't able to work around this as I have resolved to run that spider internally. Perhaps you could try setting JOBDIR to None in your spider's custom setting?

This should work properly in latest https://github.com/scrapy-plugins/scrapy-splash. Make sure to check the changelog before upgrading; v0.3 was not backwards compatible with old scrapyjs.
Thanks for the heads up!

hello, i am new to scrapy, i need to crawl the data from https://www.google.com/partners/#a_search;bdgt=10000;lang=en;locn=United%20States;motv=0;wbst=http%253A%252F%252F
i found that response in scrapy only catch the url before #, i tried several methods, but failed
i also tried the method what matiskay  mentioned, but still doesn't work, can i use splash to pass the whole url? thank you

Hey @icebear181818! The way to go is to use SplashRequest from scrapy-splash; it supports # in URLs.

thank you so much @kmike !!!!
i still confuse about the url matiskay mentioned,
`from scrapy.utils.url import escape_ajax
url = 'https://www.google.com/about/careers/search#!t=jo&jid=166355001&'
print escape_ajax(url)
result: 'https://www.google.com/about/careers/search?escaped_fragment=t%3Djo%26jid%3D166355001%26'`
i also tried to use escape_ajax to change my url, but doesnt work, could you please tell me what is the difference between mine and matiskay's? thank you !!!


OPTIMIZE: Change ServerBaseContext

Upon transitioning our production services to ServerBaseContext, we saw a serious regression with performance. It wasn't obvious, but I was able to narrow it down to a mysterious solution. Here's a gist of a reproducible benchmark:
https://gist.github.com/cyx/8730ab8d31996711110d9979d1715f98
Long story short, it seems if we create a copy of the base context, then we don't see this performance regression.
I'm open to discuss this some more -- and I've already picked the brains of other Go programmers in our company to see what they think. Logic dictates the copy doesn't do anything, but empirical data shows it does.
Thought this will be useful for others.

This is very helpful thank you @cyx cc: check this out @VojtechVitek

Very nice catch! LGMT
Seems like the lines 118 and 121 put more and more data to baseCtx on each run, since it was a local variable in the parent function scope.

btw: Same pattern is used in the Throttler middlewar (see https://github.com/pressly/chi/blob/master/middleware/throttler.go#L36)
I just wrote a simple use case if you're interested: https://play.golang.org/p/wQXiuUgUKI

Perfect thanks for the quick turnaround. I'll get this pulled into our latest release and use it in our prod servers this week.


Specify overlapping QW and flow dates

Some gages have missing data (e.g., Honey and KK have missing data between 1980-1982). Analysis should start in 1982 even though we have some prior data. Where should we "drop" these flow and QW data?
Currently get a warning from make('5_merge') that says some sample dates do not have corresponding flow data.

This is now addressed iteratively in 6_merge. First, only accept samples that have corresponding flow data. Then, identify gaps in the flow data from start to end of sample data. Remove gaps in sample data that are at the start or end of the record period.


1brc submission - davery22

Check List:

[x] Tests pass (./test.sh <username>)
[x] All formatting changes by the build are committed
[x] Output matches that of calculate_average_baseline.sh

Execution time: 2.212 (12-core M2 Pro 32GB)
Execution time of reference implementation: 2:54.74

Features:

No floating point - fixed point for city stats
No Strings - long[] for city name & stats, converted directly to byte[] for output
Custom map and hash, threaded mmap, SWAR delimiter search, etc

00:08.627, nice. Thx for participating!


custom_model: introduce value expression

In master we can only set a number e.g. as limit:
{ "if": "road_class == MOTORWAY", "limit_to": 100 }

And with this branch it is possible to use an encoded value:
{ "if": "road_class == MOTORWAY", "limit_to": "some_numeric_enc_value" }

or even an expression
{ "if": "road_class == MOTORWAY", "limit_to": "2 + some_numeric_enc_value + some_numeric_enc_value2" }

This is useful with multiply_by in the priority entry to easily use pre-filled encoded values in the custom model instead of a chain of many if+else conditions.
It is also useful with the roads encoder where "pre-filled" speeds like the one from car could be used. E.g. an emergency routing profile can be implemented using the roads encoder, limiting the speed to 1.2 * car$average_speed and keep the access restrictions soft so that oneway roads could be accessed in reverse direction (except for motorways):
{
 "speed": [{
   "if": "true",
   "limit_to": "car$average_speed"
  }
 ],
 "priority": [{
   "if": "road_class == MOTORWAY && car$access == false",
   "multiply_by": 0
  },{
   "else_if": "car$access == false",
   "multiply_by": 0.1
  },
  ...
 ]
}

The challenge is that we use this value also to identify the maximum value which is used for the A* algorithm and keeping this max speed "tight" is an important factor for quick response times. As we don't want to calculate the maxima of the "function" we do a quick test with the minimum and maximum of the encoded value and limit the value expression and only allow the operations - and / if a single encoded value is used.
Now three evaluations are necessary instead of just one because:

LM constraint check before merging of the query-custom-model into the base-custom-model
to find out minimum & maximum value of prio and speed (it is not sufficient to evaluate the calcWeight method twice with max+min as all branches of the expression needs to be evaluated and we have to pick the maximum)
in calcWeight to use the maximum of priority and speed from created and cached class so that no re-evaluation is necessary for weightings for CH.

TODOs:

[ ] decide if we still allow number for value in Java (in JSON we have to allow it)
[ ] even with a single encoded value there are cases for the operations - and / where the maximum of the function is not the minimum or maximum of the encoded value e.g. 2-1/(1-x) -> find a solution. E.g. limit it further or allow - and / only for the server side where the author has the duty to consider these problems?
[ ] custom model editor UI: https://github.com/graphhopper/custom-model-editor/pull/1

Thanks for this PR!

limiting the speed to 1.2 * car$average_speed

In your example there is no factor 1.2? But I guess you just forgot to add it there?

The challenge is that we use this value also to identify the maximum value which is used for the A* algorithm

Maybe we should just keep this as simple as it can be? So far you mentioned an example where we want to use car$average_speed on the RHS and scale it using a constant factor (1.2). Can you come up with an example that requires more complicated expressions? So far it seems like allowing one EV and a constant factor (or offset using +/-) might be all we really need?

decide if we still allow number for value in Java (in JSON we have to allow it)

Why do we have to keep allowing numbers in JSON?

custom model editor UI

Having auto-complete for the EVs on the RHS would be nice and I can add this, but first we should decide what kind of expressions shall be allowed.

For #2463 I think the most important thing here is that it will allow removing the vehicle field from the profiles (if we add the set_to operator as well). I.e. this:
name: my_car
vehicle: car
weighting: fastest

can become this:
name: my_car
weighting: custom
custom_model: {
  "speed": [
      {
          "if": "true",
          "set_to": "car$average_speed"
      }
   ],
   "priority": [
      {
          "if": "!car$access",
          "set_to": 0
      }
    ]
}

? So even without any arithmetic on the RHS this would be useful, so maybe no need to worry about stuff like 2-1/(1-x) yet?

Wouldn't we still need the TransportationMode which is currently implicitly derived from the vehicle?

Wouldn't we still need the TransportationMode which is currently implicitly derived from the vehicle?

Yes, this is a good question. The transportation mode is used to determine the access, so I think it should be a parameter of the access parser, or maybe the access parser should receive a list of access values directly instead of the transportation mode. I mean something like this:
graph.tag_parsers: car$access|values=motorcar,motor_vehicle,vehicle,access

which defines the 'transportation mode' used to populate the car$access encoded value which can then be used freely in any custom model. Ideally I'd like to have just parsers (that can have some configuration options like this) and custom models that define how the weight of an edge is calculated based on the resulting encoded values.

Ideally, I'd like to have just parsers (that can have some configuration options like this) and custom models that define how the weight of an edge is calculated based on the resulting encoded values.

100% agree

can become this:

I have to admit this is quite verbose in case all one needs is the default car profile. But maybe we can simplify this by using something like base: car which provides a base model the (optional) custom model is merged with. Don't know. My point is that besides the 'model' there should not be anything else that defines the weighting like the encoder.


when the app goes offline, it should display some text or built-in image

The current behavior shows that the app is aware of when it loses connectivity. It displays a small green notification (should be orange or red-ish, incidentally, since it's bad news).
But it should do a little more, in my view. I do notice that some views (notably if the main url is not accessible) just display an empty page with nothing on them. I think there should be an image or some text that could be configurable in the app for the app developer to add, as a default.

Something like this:

haha. yeah. maybe an image and text (possibly empty) that the developer can replace.
not much "More" needed.

I think the online/offline mode should be handled by everyone as they wish. "Hardcoding" this in the framework is not a good thing imho. So maybe exposing if the the device is online or not  this (if not already there) should be enough. Just my 2c 😄

Could we cash the JSON so some of the app still works if its offline?

That is what I am proposing -- that the developer controls what the user sees when there is no network, putting whatever text or image they wish.
"Hardcoding" is not in the framework ("Jasonette"), but the app developer. In other words, the app developer controls it and not the Jasonette framework.

With the local JSON feature implemented I think we can move on to using that feature to implement this feature.
I think we can add a default offline.json or something like that under file:// and load that when the network fails.
And if you want a different view, you can always just change the offline.json to fit your purpose. How does that sound?

@gliechtenstein That sounds like the bets way we could do this. Just have it set in the settings.plist.


Premium SKU fail in last deployment step because component missed.

In the last step "display_creds.py", it will call "elastic-runtime.yml" but in the premium deployment, it is "elastic-runtime-premium.yml ", which cause errors in last step.

Right now, we don't even have a premium deployment defined to deploy via the marketplace. When we eventually define a premium deployment, this will be changed to use the selected deployment.


Redirect URL max length (1023) reached

Hi,
our internal testing server has quite a long hostname, which results in the return URL to be too long as it contains the payment token (which contains the error and finish URL).
I have now made a workaround by ensuring the error/success URLs are as short as possible but it would be better if this was not an issue at all.
I guess it might actually require a change in the Shopware system to avoid such long URLs but maybe you can get in touch with them. Or maybe you can improve tthe URL sent to mollie yourself too.
It probably is not that huge an issue as on production system the URL is usually not that long.

This is on the Shopware side. We will pass this on, thanks for the feedback.


Crash upon putting lava into crystaliser's tank.

Crystallizer tank was empty, put one bucket of lava inside while the crystalizer had some progress set. Save now crashes on startup. Singleplayer. Crashed the second the lava entered the tank.
http://pastebin.com/Z6AJ8Npj

I'll check it out

Will be fixed next release


Function Output

Module functions which expose native PACLI functions that do not provide any output other than "Return Code" currently return "TRUE" for Return Code 0, and "FALSE" for all other return codes.
Functions are required to be updated to output custom objects (for proposed pipeline support).

Closed via #40


Migrate smartctl-exporter from deb package to snap package

We need to consider how to migrate from older version of hardware-observer to this new version. If you want to separate them into 2 PRs. I suggest we can work on a dev branch and merge them together.

@Pjack now is fixed


allowDuplicateUrls option don't work when going back

I have a Template7 Ajax page that is loaded sequentially multiple times, with diferent context each time.
I'm using allowDuplicateUrls option to allow loading the same url time after time.
This works perfectly loading new pages, but fails going back.
I could make it work changing line 937 in router.js.
before:
if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) {
after
if (!view.params.allowDuplicateUrls && (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName)) {
This works only when setting back option force: true.
I'm not sure if what I did is right or if it's enough,
I'm new to Framework7 so I suppose I'm missing something.
Thankls for your help.
Leo

Can you describe more detailed on how to replicate the issue?

I've set-up a simple demo so you can see what I'm trying to do and the problem I've found..
allowDuplicateUrls_Test.zip
The goal is having an app when its main content is a unique Template7 page loaded multiple times while changing its content (context). In my demo it is working fine going to the next page but is not working getting back to the previous page.
Thank you very much.

@LeoRodz is this now resolved?


chore(deps): remove the unused types-pyyaml package

@tromai I'm not sure why pyyaml is listed as 4P here. I assume I can remove it from the file as we are not using it anymore?

Turns out types-PyYAML is used by yaml package. Closing this PR.


Fix address bar queries when doing math expressions

Task/Issue URL: https://app.asana.com/0/1204006570077678/1208002970105121/f
Tech Design URL:
CC:
Description:
This pull request introduces a change on how we check for valid hostnames. The current regurlar expression had an issue where some mathematical expressions where valid hostnames.
BSK PR: https://github.com/duckduckgo/BrowserServicesKit/pull/952
Steps to test this PR:

Open the app
Put 16385-12228.75 in the address bar
This should do a search on our SERP instead of trying to open a webpage
Test other usual web sites URLs and check those are working.

Definition of Done:

[x] Does this PR satisfy our Definition of Done?

@jotaemepereira, I can't compile this.

Does it work for you? I'll try tomorrow with a different BSK reference

@jotaemepereira, I can't compile this.

Does it work for you? I'll try tomorrow with a different BSK reference

@tomasstrba It works for me. Can you try all the clean Xcode dance? I’m pointing to the branch needed for this work on BSK.


Release 1.6.0

Update setup.cfg, docs/conf.py and CHANGELOG.rst with the changes pertaining to release 1.6.0

Should we also include RedshiftDataOperatorAsync? PR: #467

oh yes, we should

Should we also include RedshiftDataOperatorAsync? PR: #467

oh yes, we should

Included in db210fb


Full IPv6 Support

We need a complete IPv6 support for master and wrapper (workers in the future).
It is important to create multiple listeners for BungeeCord to listen on all IP addresses. And for the server it is important to listen on "*". That IPv6 is supported.
All this should be configurable for wrapper(worker) via config or command.

config or command.

How about both.

Yes, I could. But the worker gets all the necessary information from the master, so it will be more likely to be set by command.


Adding a back-off algorithm

As described in https://www.awsarchitectureblog.com/2015/03/backoff.html, this allows better distribution of competing clients across time during the retries.

@rholder do you have any feedback on this PR ?

LGTM though squashing all commit would be better before merging.

@jd i agree -- commits are squashed.

@rholder any feedback ?


luci-base & luci-app-opkg: update Ukrainian translation

Updated with the latest resync translation, corrections and additions.
Signed-off-by: Yurii<EMAIL_ADDRESS>

Merged, thank you!


Update sbt-bloop to 1.4.11

Updates ch.epfl.scala:sbt-bloop from 1.4.0-RC1 to 1.4.11.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala", artifactId = "sbt-bloop" } ]

labels: sbt-plugin-update, early-semver-pre-release, semver-spec-pre-release

Superseded by #135.


TEST - ignore

Summary

Use Cases

Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.

@christopherclark Are you by chance testing the EasyCLA bot?
If yes - In my observation, they don't seem to working for repositories migrated from the cloudfoundry org though the integration is set up

@arjun024 yup! we're looking into this right now.  Thanks.


The startup sequence during installation.

Hello， When installing the ClickHouse operator, should I start ClickHouse first before starting ClickHouse-keeper? How should I adjust this sequence?

Shouldn't ClickHouse-keeper be deployed first?


Subset brightest pixels for PSII images.

Adjust approach to use the brightest pixels and use these to compute Fv/Fm.
This is a suggestion from the group at Rothamstead, but should be discussed first.
Completion Criteria

[ ] decide how to threshold the images
[ ] implement in the pipeline.

On the one hand, thresholding these images is easy because fluorescence is very selective for plant vs non-plant. On the other hand, fluorescence will be low for leaves angled away from the camera, so thresholding will have to compromise somewhere.

@nfahlgren the idea from Malcolm was to threshold the 'brightest pixels' (which needs to be defined) ...

By brightest - I mean those that are oriented perpendicular to the camera, excluding those angled away.

@nfahlgren  I have two ways in mind:

Compute Probabilty density function of intensity in the PS2 image. Use the 99 percentile for measure of brightest Pixel (to avoid outliers). Use a threshold relative to this.
Use a local adaptive threshold

@TinoDornbusch are you working on this? Will it be ready by the end of May?

do we want to come back to this, or is this issue obsolete now given our other approach with Solmaz' extractor?

extractor in https://github.com/terraref/extractors-multispectral (is that the best place for this?)

@dlebauer looks like we put all the extractors that deal with specific wavelengths in some way in there.

@max-zilla 2017-5-26 is the only day that light and dark adopted data was collected.
Here is the set of collected output data:
FM_Dark:

FM_Light:

Fv_Dark:

FvFm_Dark:

Fv/Fm files are already calculated in the PSII extractor, the new features are:
NPQ:

Phi_PSII:

qN:

qP:

Rfd:

The mask used in the code, is setting a threshold to 10% of max value.


WARN: Fix Warnings Issue by Sphinx

The following warnings need to be fixed
/home/qebuild/anaconda3/lib/python3.7/site-packages/dask/config.py:168: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  data = yaml.load(f.read()) or {}
/home/qebuild/anaconda3/lib/python3.7/site-packages/distributed/config.py:20: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  defaults = yaml.load(f)

This is most probably a version anomaly between packages. Will check the version compatibility of dask, python and packages used by dask.

thanks @AakashGfude I am getting this on the latest version of anaconda

@AakashGfude this issue will disappear (https://github.com/dask/dask/issues/4597) but is there a simple way we can suppress it for now?


Fix fetching saved chargeback reports

addition for https://bugzilla.redhat.com/show_bug.cgi?id=1336978
there was inproper checking of finished state of report's miq_task, the correct name of completed task is
complete as we have in general saved reports as we have here https://github.com/ManageIQ/manageiq/blob/master/app/controllers/report_controller/saved_reports.rb#L29
but now I am using MiqTask method for it.
scenario CI-> Chargeback -> and click on any saved chargeback report - before fix there was displayed message there are no
also removed message when report doesn't have records.
and only one message is used from this place https://github.com/ManageIQ/manageiq/blob/master/app/controllers/chargeback_controller.rb#L470 - the red one was removed

cc @gtanzillo

@gtanzillo I am sort of confused about failing spec before, because now it is green.
it was about this spec
https://github.com/ManageIQ/manageiq/blob/master/spec/controllers/chargeback_controller_spec.rb#L80
and it seemed that was failing sporadically but I tried to run it 20000 times I get no error
      20000.times do
        it "returns list of saved chargeback report results" do
          controller.send(:cb_rpt_build_folder_nodes)

          parent_reports = controller.instance_variable_get(:@parent_reports)

          tree_id = "#{ApplicationRecord.compress_id(chargeback_report.id)}-0"
          expected_result = {chargeback_report.miq_report_results.first.name => tree_id}
          expect(parent_reports).to eq(expected_result)
        end
      end

so reopening again.

@lpichler I ran that spec yesterday with in your branch and saw it fail the first time. But, ran it a few times after that and it passed each time. I think it may be a random ordering issue. @jrafanie what do you think? Should we see if we can fix that test before merging?

@gtanzillo Let me try it locally.

@gtanzillo Got it to fail.  Looking...

The failure is unrelated, we'll fix it as a followup:
  1) ChargebackController Saved chargeback rendering #cb_rpt_build_folder_nodes returns list of saved chargeback report results
     Failure/Error: expect(parent_reports).to eq(expected_result)

       expected: {"Test Report<PHONE_NUMBER>094"=>"509r299-0"}
            got: {"Test Report<PHONE_NUMBER>001"=>"509r299-0"}

       (compared using ==)

       Diff:
       @@ -1,2 +1,2 @@
       -"Test Report<PHONE_NUMBER>094" => "509r299-0",
       +"Test Report<PHONE_NUMBER>001" => "509r299-0",

     # ./spec/controllers/chargeback_controller_spec.rb:87:in `block (4 levels) in <top (required)>'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in `load'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in `kernel_load'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:24:in `run'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/lib/bundler/cli.rb:304:in `exec'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/lib/bundler/cli.rb:11:in `start'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/exe/bundle:27:in `block in <top (required)>'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/lib/bundler/friendly_errors.rb:98:in `with_friendly_errors'
     # /Users/joerafaniello/.gem/ruby/2.2.5/gems/bundler-1.12.5/exe/bundle:19:in `<top (required)>'

@jrafanie and are you able recreate it again ? I don't know how to recreate it locally even when I was running it more times.

👍

👍


Issue: Runs not showing up as experiements of their respective datasets anymore.

Hi!
We are working on a project that was recently "unpaused" and want to continue using langsmith to collect and evaluate our runs. Back in January, this script allowed us to iterative over all entries of a dataset, run a chain on them and have the results automatically associated with the dataset in the langsmith UI. Back then, the tab which is now called "Experiments" was called "Tests".
import { Client } from "langsmith";
import { Example } from "langsmith/schemas";
import { LangChainTracer } from "langchain/callbacks";
import { ChainFactory } from "@/app/langchain/chain";
import pLimit from "p-limit";
import { select, input, confirm } from "@inquirer/prompts";
import { UserType } from "../types";

function getConfigs(examples: Example[], projectName?: string) {
  return examples.map((example) => {
    return {
      callbacks: [new LangChainTracer({ exampleId: example.id, projectName })],
    };
  });
}

if (!process.env.LANGSMITH_TEST_DATASET_NAME) {
  throw new Error(
    "LANGSMITH_TEST_DATASET_NAME environment variable is not set",
  );
}

const datasetName = process.env.LANGSMITH_TEST_DATASET_NAME;

test(`"Test run on ${datasetName}`, async () => {
  const client = new Client();
  const examples: Example[] = [];

  for await (const example of client.listExamples({ datasetName })) {
    examples.push(example);
  }

  const userType: UserType = await select({
    message: "Select user type for test run",
    choices: [
      { name: "Patient", value: <UserType>"patient" },
      { name: "Doctor", value: <UserType>"doctor" },
    ],
  });

  //use this to distinguish between different chunk sizes, models, etc.
  const specifyUsedVariables = await confirm({
    message:
      "Do you want to specify the used Variables (chunk sizes, models etc.) ? 'No' will use the name set in the LANGCHAIN_PROJECT env var",
  });

  let usedVariables =
    process.env.LANGCHAIN_PROJECT ??
    "Default Project Name (YOU SHOULD NOT SEE THIS)";
  if (specifyUsedVariables) {
    usedVariables = await input({ message: "Enter project name" });
  }

  const projectNameWithDate =
    "userType=" +
    userType.toUpperCase() +
    "_" +
    "testVariables=" +
    usedVariables +
    "_" +
    new Date().toISOString().replace("T", "_").substring(5, 16);

  const configs = getConfigs(examples, projectNameWithDate);
  const chainInputs = examples.map((example) => example.inputs);

  const limit = pLimit(10); // Limit concurrency to 10
  try {
    console.log("Running tests, this might take a while...");
    const chains = chainInputs.map((input, index) =>
      limit(async () => {
        //create new chain for each input with empty history and streaming set to false
        const chain = await ChainFactory.create([], false, userType);
        return chain.invoke(input, configs[index]);
      }),
    );

    await Promise.allSettled(chains);
  } catch (error) {
    console.log("Error running tests");
    console.log(error);
  }
}, 300_000); // 300 seconds timeout to allow for long running tests might need to be increased

After picking up the project again, new test runs are no longer showing up in the "Experiments" tab. Is this a regression or are we missing something? I tried upgrading to "langsmith": "^0.1.18" but that didnt help.
Thanks!
Suggestion:
No response

Hi there! THe main thing you need to change for that script is to explicitly createProject witht he project name and referenceDatasetId: <your dataset id>
We have an actual test runner in langchain for this and are releasing a better one in pure langsmith in the next couple of days (https://github.com/langchain-ai/langsmith-sdk/pull/621)

Hi @hinthornw,
thanks for the swift reply. That has fixed the issue for us! Looking forward to use the actual test runner once its ready


Migrate DIAPERMAPPING to be a column in CanonicalItem

The Request model is used as the interfacing point with the PartnerApp. They use a common language of short strings of text that look like this: k_size6 and adult_cloth_lxl.  For clarity I'm going to call these "keys" here. Currently this association is explicitly defined in the Request model, DIAPERMAPPING constant.
Each key corresponds 1:1 with a single CanonicalItem, as noted in that constant.
Each CanonicalItem is the direct ancestor of all Item objects (both in the sense that CanonicalItem has_many :items and also in the sense that every Item is initially replicated from a base CanonicalItem)
The point of the CanonicalItem model (I realize it adds some complexity to this) is so that organizations have the ability to customize the kind of inventory they have -- not all organizations may carry the same kinds of products. We had feedback from some diaperbanks that they would like to name or classify their inventory slightly differently, or to omit some items entirely if they aren't ever carried. cf. #314 , #250 , #239 , #229 , #345 [sorta]) and this addressed an issue we had where diaperbanks were deleting Item records that were shared.
For this issue:

[ ] Create a new :string column in CanonicalItem to hold this value (:partner_key or something like that)
[ ] Move all of those keys in Request::DIAPERMAPPING to the db/canonical_items.json file
[ ] Add a default scope to Item to eager load :canonical_item
[ ] Replace all references to Request::DIAPERMAPPING with item.canonical_item.name or item.canonical_item.partner_key (or whatever you name the column), as appropriate
[ ] Remove the DIAPERMAPPING constant from the Request model
[ ] Remove the request_items list from the api/v1/partner_requests_controller (:request_items should remain, just without the whitelisted array of symbols)
[ ] Modify the Distribution#copy_from_request model to instead do the lookup based on the associated canonical item -- keep it a trivial lookup for now, like it is, without checking inventory totals (see discussion below)

There's a secondary set of concerns for further enhancing the Partner app:
On the PartnerApp side, there may be a need to expose an API endpoint that reveals all of the CanonicalItem types, or better yet, all of the Items available by an organization's inventory (either grouped by partner_key or as individual line items but with the partner_key included as a record field) -- I'm not sure which would be more useful to the Partner app.
The discussion we had about this, leading up to RfG2018 (and the whole reason we it arranged like it is with the Item replication), suggested that the Partner app might request a current inventory snapshot from the diaperbanks then make their request based on the available inventory.
The way the request is built currently, it implicitly assumes there is sufficient inventory for all the things requested (which is why doing a direct substitution should just be a lateral functional move; pre-calculating inventory is out of scope for this issue). I don't know what kind of interface would be ideal for the Community Partners, or how they would like to make the requests regarding specificity of products (that's also been out of scope for this project); if the inventory wants specificity about subtypes of 3T diapers, the partner app probably doesn't care about that specificity and just wants 3T diapers (which is why we use the :partner_key language) -- we just want to make sure we can connect the dots.

lets put this in gitcoin.co ?

Item 6: Remove the request_items list from the api/v1/partner_requests_controller (:request_items should remain, just without the whitelisted array of symbols)
This is something I don't believe we can change. As our database is using a jsonb field we need to explicitly whitelist the values we are going to receive. We've also communicated to our partner project that they should be sending request_items to as json.
For your other comment: The way the request is built currently, it implicitly assumes there is sufficient inventory for all the things requested (which is why doing a direct substitution should just be a lateral functional move; pre-calculating inventory is out of scope for this issue).
I believe that this is the way that the diaper banks want it -- The request can come in and if they don't currently have the inventory they can sit on the request while they acquire the inventory. A just in time inventory system -- you can get an idea of this ideology from the functionality we added to donations, to create a distribution directly from a given donation.
I think there are two different things we need to be concerned with. The bare MVP functionality that we need for the NDBN conference and our long-term goals and making sure that what we do for the MVP will not preclude what our long term objectives.
Finally, regarding the keys, k_size6, k_size1, and so on these are keys we've shared with the team working on the new partner application and if we are going to change the functionality we are going to need to bring them into the conversation.

Re: Item 6 -- we can build the list dynamically from a DB query for the params -- the Request creation should not be a high-traffic endpoint so a single DB query on that should not create a notable load.


Is there a way to set keep-alive connection?

There is nothing about that in https://github.com/elastic/go-elasticsearch/blob/master/elasticsearch.go#L32

Looks like persistent connections enabled by default https://golang.org/pkg/net/http/#Server.SetKeepAlivesEnabled

@karmi thank you
I will close the issue then


Discontinue early

Text change for issue #1134.

@alexsoble this is good too. Basically I expanded out buttontext and added a new condition.

@alexsoble I want to double check this. Will reopen soon.

@Jngai OK!


is webui upload  different with cli add?

hello,
I can list file (use : ipfs files ls -l ) that upload with webui to ipfs, but I use this command:
$>ipfs add upload_file
after upload complete, I can list this file use the same way, that is , ipfs files ls -l .
Why is that? anybody could explain it? Thanks!

Hello @irocnX!
Yes, they are different commands and scopes. ipfs files API uses the underlying MFS (Mutable File System) technology where we have a "traditional" kind of filesystem with mutable data on the top of IPFS.
When you run ipfs add you're saying: add this file to the repository. With that command, it is not added to the MFS. To add files to the MFS you should use ipfs files write or ipfs files cp for example.
I will leave here some links for information that might be useful for you:

Mutable File System Concept
MFS ProtoSchool Tutorial
Regular Files API ProtoSchool Tutorial
An issue about how ipfs files write might differ from ipfs add

I am closing this issue as it is not directly related to Web UI. However, feel free to ping me here for further clarifications!


high cpu usage during synchronous exec

Still getting 45% cpu usage when running synchronous exec on windows 8.1

@MetaMemoryT: Yeah, that's a side effect of our trying to make exec synchronous (Node doesn't support that by default). I don't really think there's anything we can do about it.
@nfischer: Thoughts?

I think some steps have been taken to reduce cpu usage for newer versions of node. @MetaMemoryT does the issue persist with node v5?

Is using sleep() from https://www.npmjs.com/package/sleep an option? I appears to use a system call to sleep/stop the process for a given amount of time and it shouldn't burn CPU.

Isn't this a dead issue thanks to execSync being used in versions of Node that support it (0.12 and better)? Or am I missing something?

@boutell thanks for pinging this issue. Yes, since we already dropped v0.10 support, I believe this can be safely closed.

@nfischer Is this note in the README still relevant? Also, is this issue present only on Windows or on Unix platforms as well?
Note: For long-lived processes, it's best to run exec() asynchronously as the current synchronous implementation uses a lot of CPU. This should be getting fixed soon.

@SuhairZain nope :smile: And #825 removes that line.


Attempt at safe onboard controller disabling feature

As in the title, this PR aims at adding a safe onboard controller disabling featuring, allowing GSP to take over control of the Astrobee and develop control methods on this platform.
If failsafe conditions are verified (to be specified, but can be geofence, actuation limits violated, unsafe states, ...), this condition can be overrun and the system can go back to a failsafe nominal control mode, using a provided segment. For now, a FAILSAFE action was not included on Control.action, and a failsafe is understood as requesting a NOMINAL state while the controller is DISABLED.
We take advantage of the already defined control_enabled_ variable in the ctl module, and use it to ensure that a control Step() is performed only in case control_enabled_ is true.
To-Do:

Test implementation
Possibly modify implementation according to Astrobee Ops team

Hi Pedro,
Thanks for sending this! I'm a bit confused--- what is needed over setting control_enabled_ to false and not calling the Step / publish functions? The idea is to check if we are in a safe sate before turning the controller off?

Hi Pedro,
Thanks for sending this! I'm a bit confused--- what is needed over setting control_enabled_ to false and not calling the Step / publish functions? The idea is to check if we are in a safe sate before turning the controller off?

Thanks for checking this Brian! The "Disabled" state for the onboard control module does exactly that. However, to exit that state there are two options:

If the task was successful, a GOAL_COMPLETE will make the FSM transit from DISABLED to WAITING mode;
If the task was not successful and unsafe states were detected (by the choreographer or some other future module), then the FSM will transit from DISABLED to NOMINAL to take over the control of the Astrobee and go back to a safe state.

The option 2 can also be adjusted to either receive a CANCEL and go back to WAITING anyways. However, in case the vehicle is flying, going back to a WAITING mode will keep the vehicle with the same linear velocity, which might not be safe. But if I'm over-complicating this feature at the moment, let me know, and I'll remove the transition from DISABLED to NOMINAL.

Hi @Pedro-Roque,
Sorry I took so long to get back to you. I think this may be overly complicating things and also inconsistent with the way we have done things in other modules. In other places, we have a /node/enable service which takes a bool to enable or disable. It seems like it complicates the logic of the controller quite a bit to have it responsible for transitioning to the other module- especially since what is safe will depend largely on the other module. So I think it may make sense for disable to simply turn things off without error checking.
What do you think?

Got it!
My first idea was to do exactly that - a service that you enable or disable based on if you want the node to run or not. The problem is that if a custom controller node crashes, you might be left in a state of control_enable_ = false;. However, we can take that risk for the sake of making things the simplest, at the moment?

Yeah I think that is fine. If the custom controller crashes after the handoff we would still have this same problem.

Updated the node with a service to enable/disable the control module.
@bcoltin - can the choreographer send Flight Mode messages when not triggered? If yes, I'll have to add another flag to prevent control_enabled_ going to true on such callbacks. Other than that, this is a simple implementation now.

Thanks Pedro, this looks good! One last thing, can you switch to merging into develop instead of master?
The Flight Mode messages should only be sent when manually triggered.

Done @bcoltin !
In that case, this should suffice for GSP needs, thanks for the feedback!


Make the setting page.

To use static table view to get the setting page. You need use TKSwitcherCollection to show the switch component.

The designed user's interface had been uploaded to Zeplin.

Got it. And update switch cell callback.


Correct links that were spammed without spacing

Sometimes users spam a link multiple times in a message without a space in between, which makes a broken link when clicked, both in chat and in twitch links lists. This should be fixed when parsing urls, so only the actual non-repeated link is utilized in twitchlinks.

This was fixed with e1adf4accea2988e303139fb3a4fafa50c0ae6ec


Why just why

Superminium shortcuts are only for desktop and not for taskabr and start menu i like the old classic v60 interface but make the v60 interface have a option on the installer saying V60 Interface permentaly means that no chrome interface only classic v60 interface wishing a new browser was build for v60 chrome interface :(

Start menu shortcuts are normally created by the operating system when determining the default browser, while the Supermium installer could make taskbar shortcuts  on Windows 7 and later in the future.
However, for structural reasons, there's no good way of forcing the preferences before the browser is first run, unless an enterprise policy is created for such settings.


msw option is not available in add-on panel

Not getting MSW on add on panel as shown in the example in storybook, even after passing proper params. Mocking is working fine

code for preview.js
initialize();
export const loaders = [mswLoader];
addParameters({
  viewport: {
    viewports: {
      ...INITIAL_VIEWPORTS,
      ...MINIMAL_VIEWPORTS,
    },
  },
});

code for story
import React from 'react';
import { rest } from 'msw';
import Dummy from './dummy';

export default {
  title: 'Dummy/fetch',
  component: Dummy,
  parameters: {
    msw: {
      handlers: [
        rest.get(
          'https://api.smallcase.com/smallcases/hello',
          (req, res, ctx) => {
            console.log('lakshmi');
            return res(
              ctx.json({
                firstName: 'Neil',
                lastName: 'Maverick',
              }),
            );
          },
        ),
      ],
    },
  },
};

const Template = () => <Dummy />;
export const fetch = Template.bind({});

hi @shrilakshmishastry..
have you added  'storybook-msw-addon' to the addons list in storybook's main.ts?
if that doesn't work, can you share a repo or codesandbox reproducing the issue so I can take a look? thank you

Hey, thanks for the quick come back !!
Yes , I have added storybook-msw-addon in main.js. I can't share repo it's organisation one and private,
But I can share the version of repos I am using
"@storybook/react": "^6.5.16"
"@storybook/addon-actions": "^6.5.16",
"@storybook/addon-docs": "^6.5.16",
"@storybook/addon-essentials": "^6.5.16",
"@storybook/addon-knobs": "^6.4.0",
"@storybook/addon-viewport": "^6.5.16",
"@storybook/builder-webpack5": "^6.5.16",
"@storybook/manager-webpack5": "^6.5.16",
"@storybook/preset-create-react-app": "^4.1.2",
"@storybook/preview-api": "^7.3.0",
"storybook-msw-addon": "^0.3.21",
"msw": "^1.2.3",
"msw-storybook-addon": "^1.8.0",
Is this supported for storybook react ?

is there any other dependency I should be adding along with this library?

hi @shrilakshmishastry I see, I think it has too do with the fact that I built the library using the addon-kit for Storybook > 7 which uses vite instead of webpack.. I haven't tested it with webpack builder.


bot api access token expiration

bot api access token expiration?
Is there official documentation for the access token expiration in existence? Anything to tell me how long these tokens should last?
I can see that my tokens last 1 day after decrypting but I want official guaranteed documentation.

We are looking into this I will update soon.
Thanks


can you add a non docker version

Description
can you add a non docker version
Version
can you add a non docker version
Steps to Reproduce
can you add a non docker version
Screenshots
can you add a non docker version
Logs
can you add a non docker version

Platform
desktop
Device
can you add a non docker version
Operating System
can you add a non docker version
Browser
can you add a non docker version
Additional Context
can you add a non docker version
Code of Conduct

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

A non docker version is already supported.


Refactor DummyLSU to avoid direct combinational communication

There are potential timing issues related to the use of combinational signals to communicate the DummyLSU with the bus control internals. These can probably be resolved by including the communication in the transaction framework. Probably Forwarder will be useful, as it retains the combinational characteristic while playing nice with transactions.

I thought about this for some time and I think this is probably hard.


Recursion error on upload_file

client.upload_file throws a recursion error for some reason. client.upload_files(projectId, [filename]) works though.

Screenshot of the error.

Fixed this, will be out with next release.


Disabled dragging of file on to the webview

This fix will prevent user from dragging pictures or other files on top of the WebView.
See also #284

Thanks for the PR!


fixed elements problem

Applied to the fixed element position changes.

Can you elaborate or present a working sample of the problem?


buildGoModule: don't pass buildFlagsArray as file

Description of changes
Store buildFlagsArray as a Bash global array variable instead of creating/sourcing a file containing its declaration.
buildFlagsArray is short enough, and it is not assigned in a sub-shell. There's no reason to pass it as a file. Storing it as a variable makes the build more efficient.

Things done

Built on platform(s)

[X] x86_64-linux (Built lf file manager.)
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1679

Rebased on top of the latest merge-base of master and staging.

@kalbasit @Mic92 @zowoq Is it ready to merge?
BTW, it seems okay to backport this mild enhancement.


Add telemetry integration

Ref #3

This looks great @wojtekmach! My only remaining suggestion is to move those events to private functions, so we don't pollute the "main function". Then we can ship it!


Remove ollama reference from documentation for now

Short description of the problem this fixes or functionality that this introduces. This may be used for the CHANGELOG
Remove ollama reference from documentation
Give a summary of what the PR does, explaining any non-trivial design decisions
Getting ollama to work with OpenHands is not easy. Even if you do get it to connect, it's not going to be able to do the things you want because the models are just not capable enough. For now, I've removed it from the documentation and hence support of it, until we find one or fine-tune one that works that can be added back to our docs.

Link of any specific issues this addresses

Hmm people may not use OH just for programming, but as chat/roleplay interfaces. Couldn't we just have a big "Note:" at the top, that local models are likely to fail for programming purposes, for example?

We already do. If people can't use ollama with OpenHands which is stated in the github repo as "a platform for software development agents powered by AI", then we shouldn't really specify it in our docs IMO. Perhaps later when the project is more mature, but right now people come in and expect ollama to work with OpenHands and it really doesn't.

I think the tricky thing is that ollama does work, you just need a massive model on a massive machine (e.g. llama 405B)
Seems like you left local-llms.md in the repo, so that we can at least link to it separately for people who are legitimately experimenting (rather than a random user who has overly-high expectations). That seems like a good compromise to me

I think the tricky thing is that ollama does work, you just need a massive model on a massive machine (e.g. llama 405B)
Seems like you left local-llms.md in the repo, so that we can at least link to it separately for people who are legitimately experimenting (rather than a random user who has overly-high expectations). That seems like a good compromise to me

Yes that was my intention by doing that.

OK, if you think it's necessary for now.
Just to note, ollama is just a local provider, and the models the user installs with it are what works well or doesn't with openhands.
I was using ollama earlier, and I was having fun, although I picked only some 7b-8b models. Even if they're fine-tuned for coding, these models are clearly so small that I don't expect them to do the job, I expect the play to allow me to test all our combinations of settings. They work in the sense that I send calls and get responses, I see strange things, and so on. They don't work to understand our full initial prompt well enough, and that's just the initial prompt... 🤔

Yep I understand and agree. In my mind I'm thinking this:

We don't really expect OpenHands to work with local models as well as OpenAI and Anthropic
There is a hidden doc for people that want to play with it that we can refer to but it's just for fun
Once OpenHands is more solid and local models are more solid, let's get back to this so people can try local models.

The lack of support for Ollama and especially open source self service local models is a huge mistake and red flag.

@crmaigents we do hypothetically support local models. But they're simply not powerful enough to drive an agent in their current state, and there's really nothing we can do about that but wait for the tech to get better.
In the meantime, we don't want to mislead users into thinking they'll work well


Multiple Language, Localization Support

Is your feature request related to a problem? Please describe.
Many organizations are multi-lingual and have to account for users who speak/read different languages. We are running into an issue where users with their systems set to fr-CA are forced to read SYM prompts written and designed for en-CA or en-US-based users.
Describe the solution you'd like
Although it could easily/potentially lead to "bloat", having code at the beginning of SYM to do a language check for localization would be extremely helpful. I'm not a coder, unfortunately, but I would imagine the SYM code would then have to wrap itself within an "en" array and have an option for admins to copy that section and paste it into multiple additional arrays for "fr" and "es". This would allow setting the headers, text, policy details, etc. into specified languages that admins would be required to translate to.
Describe alternatives you've considered
Presently looking into making a full copy of SYM and doing manual translation of all user-displayed text. Then scoping SYM-fr to a Smart Group within Jamf for French Speaking Users. My problem with that would be the requirement of a one-time inventory to Jamf prior to SYM starting off. Becomes even more troublesome when accounting for Prestage enrollments.
Additional context
Add any other context or screenshots about the feature request here.

I have a function in my SYM script at Pre-Flight after runAsUser that pretty much copies what erase-install.sh does.
`setLocalizations() {
currentLoggedInUser

loggedInUserDirectory=$(/usr/libexec/PlistBuddy -c 'Print :dsAttrTypeStandard\:NFSHomeDirectory:0' /dev/stdin <<< "$(/usr/bin/dscl -plist /Search -read "/Users/${loggedInUser}" NFSHomeDirectory)")
# detect the user's language
language=$(/usr/libexec/PlistBuddy -c 'print AppleLanguages:0' "/${loggedInUserDirectory}/Library/Preferences/.GlobalPreferences.plist")
if [[ $language = de* ]]; then
    userLanguage="DE"
elif [[ $language = pt* ]]; then
    userLanguage="PT"
elif [[ $language = es* ]]; then
    userLanguage="ES"
else
    userLanguage="EN"
fi

if [[ $debugMode == "verbose" ]]; then
    userLanguage="ES"
fi

updateScriptLog "User language is: $userLanguage"

# Dialogue localizations - power check - title
dialogPowerTitleEN="Waiting for AC Power Connection"
dialogPowerTitlePT="Aguardando conexão de energia CA"
dialogPowerTitleES="Esperando conexión a la red eléctrica"
dialogPowerTitle=dialogPowerTitle${userLanguage}

# Dialogue localizations - power check - description
dialogPowerDescEN="Please connect your computer to power using an AC power adapter.  \n\nThis process requires AC Power or at least 50% battery."
dialogPowerDescPT="Conecte seu computador à energia usando um adaptador de energia AC. \n\nEste processo requer energia AC ou pelo menos 50% da bateria."
dialogPowerDescES="Conecta tu computadora a la corriente eléctrica mediante un adaptador de poder.  \n\nEste proceso requiere conexion electrica o al menos 50% de bateria."
dialogPowerDesc=dialogPowerDesc${userLanguage}

# Dialogue localizations - network type check - title
dialogNetworkTypeTitleEN="Network Connectivity Alert"
dialogNetworkTypeTitlePT="Alerta de conectividade de rede"
dialogNetworkTypeTitleES="Alerta de conexion de red"
dialogNetworkTypeTitle=dialogNetworkTypeTitle${userLanguage}

# Dialogue localizations - network type check - description
dialogNetworkTypeDescEN="Please connect your computer to the network using an Ethernet cable.  \n\nThis will ensure a more stable and faster setup process."
dialogNetworkTypeDescPT="Conecte seu computador à rede usando um cabo Ethernet. \n\nIsso garantirá um processo de configuração mais estável e rápido."
dialogNetworkTypeDescES="Conecta tu computadora a la red por cable Ethernet.  \n\nEsto asegurara un proceso de configuracion mas rapido y estable. \n\nPuedes elegir continuar por Wi-Fi o conecta un cable Ethernet en este momento y apaga el Wi-Fi."
dialogNetworkTypeDesc=dialogNetworkTypeDesc${userLanguage}

# Dialogue localizations - network type check - button
dialogNetworkTypeButtonEN="Continue on Wi-Fi"
dialogNetworkTypeButtonPT="Continuar com Wi-Fi"
dialogNetworkTypeButtonES="Continuar en Wi-Fi"
dialogNetworkTypeButton=dialogNetworkTypeButton${userLanguage}

# Dialogue localizations - network quality check - title
dialogNetworkQualityTitleEN="Network Quality Alert"
dialogNetworkQualityTitlePT="Alerta de qualidade de rede"
dialogNetworkQualityTitleES="Alerta de calidad de red"
dialogNetworkQualityTitle=dialogNetworkQualityTitle${userLanguage}

# Dialogue localizations - network quality check - description
dialogNetworkQualityDescEN="Your network speed was detected to be less than ideal for the setup.\n\n This can impact the setup process and/or cause it to fail.\n\n If you're on Wi-Fi, switch to a different network, to an Ethernet connection or validate the current one.\n\n If you're on Ethernet, switch to a Wi-Fi network or validate the current one."
dialogNetworkQualityDescPT="A velocidade da sua rede foi detectada como inferior à ideal para a configuração.\n\n Isso pode afetar o processo de configuração e/ou causar falhas.\n\n Se estiver em Wi-Fi, mude para uma rede diferente ou aceite a conexão Ethernet atual.\n\n Se estiver em Ethernet, mude para uma rede Wi-Fi ou valide a atual."
dialogNetworkQualityDescES="Se detectó que la velocidad de tu red es inferior a la ideal para la configuración.\n\n Esto puede impactar el proceso de configuracion o causar que falle.\n\n Si estás en Wi-Fi, cambia a una red diferente, a una conexión Ethernet o valida la actual.\n\n Si estás en Ethernet, cambia a una red Wi-Fi o valida la el actual."
dialogNetworkQualityDesc=dialogNetworkQualityDesc${userLanguage}

# Dialogue localizations - network quality check - description
dialogNetworkQualityButtonEN="Continue on Wi-Fi"
dialogNetworkQualityButtonPT="Continuar com Wi-Fi"
dialogNetworkQualityButtonES="Continuar en Wi-Fi"
dialogNetworkQualityButton=dialogNetworkQualityButton${userLanguage}

# Dialogue localizations - Setup Dialog

dialogSetupTitleEN="Setting up ${loggedInUserFirstname}'s Mac"
dialogSetupTitlePT="Configurando o Mac para ${loggedInUserFirstname}"
dialogSetupTitleES="Configurando la Mac de ${loggedInUserFirstname}"
dialogSetupTitle=dialogSetupTitle${userLanguage}

dialogSetupMessageEN="Please wait while the following apps are installed…"
dialogSetupMessagePT="Aguarde enquanto os seguintes aplicativos são instalados…"
dialogSetupMessageES="Por favor espera mientras las siguientes aplicaciones son instaladas…"
dialogSetupMessage=dialogSetupMessage${userLanguage}

dialogSetupInfoboxEN="Analyzing input…"
dialogSetupInfoboxPT="Analisando informacão…"
dialogSetupInfoboxES="Analizando informacion…"
dialogSetupInfobox=dialogSetupInfobox${userLanguage}

dialogSetupInitialProgressEN="Initializing configuration…"
dialogSetupInitialProgressPT="Inicializando configuracão…"
dialogSetupInitialProgressES="Inicializando configuracion…"
dialogSetupInitialProgress=dialogSetupInitialProgress${userLanguage}

dialogSetupInitialButton1TextEN="Wait…"
dialogSetupInitialButton1TextPT="Espere…"
dialogSetupInitialButton1TextES="Espera…"
dialogSetupInitialButton1Text=dialogSetupInitialButton1Text${userLanguage}

dialogSetupDownloadSpeedCheckProgressEN="Checking Network Speed…"
dialogSetupDownloadSpeedCheckProgressPT="Verificando a velocidade da rede…"
dialogSetupDownloadSpeedCheckProgressES="Verificando la velocidad de red…"
dialogSetupDownloadSpeedCheckProgress=dialogSetupDownloadSpeedCheckProgress${userLanguage}

dialogSetupStatusTextPendingEN="Pending…"
dialogSetupStatusTextPendingPT="Pendente…"
dialogSetupStatusTextPendingES="Pendiente…"
dialogSetupStatusTextPending=dialogSetupStatusTextPending${userLanguage}

dialogSetupStatusTextInstalledEN="Installed"
dialogSetupStatusTextInstalledPT="Instalada"
dialogSetupStatusTextInstalledES="Instalada"
dialogSetupStatusTextInstalled=dialogSetupStatusTextInstalled${userLanguage}

dialogSetupStatusTextUpdatedEN="Updated"
dialogSetupStatusTextUpdatedPT="Atualizada"
dialogSetupStatusTextUpdatedES="Actualizada"
dialogSetupStatusTextUpdated=dialogSetupStatusTextUpdated${userLanguage}

dialogSetupStatusTextRunningEN="Running"
dialogSetupStatusTextRunningPT="Rodando"
dialogSetupStatusTextRunningES="Ejecutando"
dialogSetupStatusTextRunning=dialogSetupStatusTextRunning${userLanguage}

dialogSetupStatusTextCheckingEN="Checking"
dialogSetupStatusTextCheckingPT="Verificando"
dialogSetupStatusTextCheckingES="Validando"
dialogSetupStatusTextChecking=dialogSetupStatusTextChecking${userLanguage}

dialogSetupStatusTextUpdatingEN="Updating"
dialogSetupStatusTextUpdatingPT="Atualizando"
dialogSetupStatusTextUpdatingES="Actualizando"
dialogSetupStatusTextUpdating=dialogSetupStatusTextUpdating${userLanguage}

# Dialogue localizations - UserCheck Dialog

dialogUserCheckTitleEN="Erro do usuário"
dialogUserCheckTitlePT="User error"
dialogUserCheckTitleES="Error de Usuario"
dialogUserCheckTitle=dialogUserCheckTitle${userLanguage}

dialogUserCheckMessageEN="The Mac user (*${loggedInUser}*) doesn't match the Okta user (*${jamfConnectUser}*).\n\n Usually, that happens when the user is created manually.\n\n Please contact us at the channel in Slack to resolve the issue."
dialogUserCheckMessagePT="O usuário do Mac (*${loggedInUser}*) não corresponde ao usuário do Okta (*${jamfConnectUser}*).\n\n Normalmente, isso acontece se o usuário foi criado manualmente.\n\n Entre em contato com a equipe de suporte no canal no Slack para resolver esse problema."
dialogUserCheckMessageES="El usuario del Mac (*${loggedInUser}*) no corresponde con el usuario de Okta (*${jamfConnectUser}*).\n\n Usualmente, esto ocurre si el usuario fue creado manualmente.\n\n **Contacta al equipo de soporte en el canal en Slack para solucionar este problema.**"
dialogUserCheckMessage=dialogUserCheckMessage${userLanguage}

}
setLocalizations`
And then when passing the variable to the functions you just use the ! symbol:
title=${!dialogSetupTitle}
message=${!dialogSetupMessage}
bannerImage="/Library/Desktop Pictures/blablabla.png"
brandingBannerDisplayText="true"
helpmessage="If you need assistance, please contact the IT Engineering team [via Jira](https://url.com/blablabla)  \n\n**Computer Information:**  \n- **Operating System:**  ${macOSproductVersion} (${macOSbuildVersion})  \n- **Serial Number:** ${serialNumber}  \n- **Dialog:** ${dialogVersion}  \n- **Started:** ${timestamp}"
infobox=${!dialogSetupInfobox} # Customize at "Update Setup Your Mac's infobox"
initialProgressText=${!dialogSetupInitialProgress}

I would share my complete script, but it's way too customized to be usable. Still, hopefully this provides an starting point.

I have a function in my SYM script at Pre-Flight after runAsUser that pretty much copies what erase-install.sh does.
Are you going as far as setting the welcomeMessage, the text field prompts for username, etc?

I feel like I'll have to have a massive Preflight section, while the rest of the actual core script is just localization variables. I think I can get that done. Just will take some time lol.

@tonyyo11 I don't use a welcomeMessage, we pass department and other user-specific variables from LDAP/Jamf (https://macnotes.wordpress.com/2022/01/14/device-specific-parameters-for-jamf-pro-script-policies/) so the user doesn't have to input any data.

I imagine you could grab the locale from the user, set your country code and then build case statements on your actual messaging accordingly, similar to: https://techitout.xyz/2023/04/12/setup-your-mac-zoom-room-edition/

@hooleahn your post above helped me start some of my customization, appreciate it as we're multi lingual. I can't seem to figure out how to pass a variable into the actual policy triggers so I'd also like to see multi language added into SYM maybe for V2

@hooleahn your post above helped me start some of my customization, appreciate it as we're multi lingual. I can't seem to figure out how to pass a variable into the actual policy triggers so I'd also like to see multi language added into SYM maybe for V2
Editing in as to what I played with this morning was adding this into catch-all portion since I do not give prompts and I was able to have it select the JSON based on this - I haven't tested in pre-stage yet.
` ### # Select "Catch-all" policyJSON ###
#Detect the user's language language=$(/usr/libexec/PlistBuddy -c 'print AppleLanguages:0' "/${loggedInUserDirectory}/Library/Preferences/.GlobalPreferences.plist")
outputLineNumberInVerboseDebugMode
if [[ -n "$presetConfiguration" ]]; then
    symConfiguration="${presetConfiguration}"
elif [[ $language = fr* ]]; then
    symConfiguration="French"
else
    symConfiguration="Catch-all ('Welcome' dialog disabled)"
fi
updateScriptLog "WELCOME DIALOG: Using ${symConfiguration} Configuration …"
policyJSONConfiguration `

This line should be something like: elif [[ "$language" == "fr*" ]]; then

Reviewed on 2024-06-07-051826; un-assigned myself; help wanted

Happy to assist with this!
I was thinking of something as the following, variables and such can be changed around:
# Set LOADED_LANG: Use $USER_LANG (from $1 or environment), then LC_ALL, else default to "en_US"
LOADED_LANG=${USER_LANG:-${LC_ALL:-en_US}}

# Function to load the appropriate language file if it exists
# $1 is the language code (e.g., "en_US", "fr")
# If the file is found, it loads the variables inside and returns success (0)
# If not, it returns failure (1)
load_lang() {
    [ -f "./$1.lang" ] && source "./$1.lang" && echo "Loaded: $1" && return 0 || return 1;
}

# Try to load the language file for LOADED_LANG
load_lang "$LOADED_LANG"

# Use loaded variables (like $GREETING and $ERROR) from the language file
echo "$GREETING"
echo "$ERROR"

This would mean bringing all the text out of the code & placing in a secondary file.
These could be kept local with the code or hosted in GitHub and pointed at... really up to you how you want to do so.


⚠ Turnos 24x7 has degraded performance

In 92abf87, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1065 ms

Resolved: Turnos 24x7 performance has improved in c1a8c5c.


How do I remove elements from redis map when they expire, not only local cache?

I use Redisson 3.26.1 and I have been attempting to make RLocalCachedMap remove elements from local cache and redis at the same time. I figured out that if I apply timeToLive and maxIdle settings to LocalCachedMapOptions, it only affects cached map implementation, but the element is still shared among RLocalCachedMap map instances.
Here is something of what I've already tried, I believe that there is a setting available to remove elements from redis when they expire.
private final RLocalCachedMap<String, UUID> generatedCodes;

LocalCachedMapOptions<String, UUID> options = LocalCachedMapOptions.<String, UUID>name("test")
                .storeMode(LocalCachedMapOptions.StoreMode.LOCALCACHE_REDIS)
                .cacheProvider(LocalCachedMapOptions.CacheProvider.REDISSON)
                .reconnectionStrategy(LocalCachedMapOptions.ReconnectionStrategy.CLEAR)
                .writeMode(WriteMode.WRITE_BEHIND)
                .cacheSize(0)
                .writeRetryAttempts(5)
                .timeToLive(Duration.ofMillis(300))
                .maxIdle(Duration.ofMillis(300))
                .syncStrategy(LocalCachedMapOptions.SyncStrategy.UPDATE);
generatedCodes = redisson.getLocalCachedMap(options);```

You need to use getLocalCachedMapCache() which is part of PRO version.


Removed the search API

Removed the front-end search functionality (@see https://github.com/fronteerio/grasshopper/commit/a6f3299d45c073a6e7c93717eb994c71a0fe7b00)

Assigning to @bp323 for review

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>e166ef4e4586e509a223d5931e1464 on Coenego:removeSearch into 645eae9c726f7f011c36e7b03b77a7c5ebd7deba on CUL-DigitalServices:master.

Looks good, I'll follow up with one commit that gets rid of the casperjs equivalent of the API file

Verified and merged.


Upgrade to Spark-3.3.2.

Manual merge of pom changes by @StephanPreibisch.
Upgrade pom to released n5 packages and removing unnecessary versions in the new scijava.
Fix duplicate classes in pom.
Remove unnecessary explicit versions, exclusions.
Additional pom cleanup.

@StephanPreibisch I upgraded the dependencies to Spark-3.3.2 on top of your mvr and related upgrade. Tested with simple, fatjar build and direct java and spark-submit runs.
@trautmane The fatjar creation complained about the duplication of the following meta files. As far as I understand the first two items come from the different java version kotlin modules which may not be the used at the same time. I'm unsure about the jackson one. Is it OK to simply exclude these from the fatjar ?
<exclude>META-INF/versions/9/module-info.class</exclude>
<exclude>META-INF/okio.kotlin_module</exclude>
<exclude>META-INF/services/com.fasterxml.jackson.core.JsonFactory</exclude>

Released bigdataviewer-omezarr-0.2.0 that depends on the keyvalue n5 suite (n5-3.0.0).
Updated the pom in this PR accordingly.
Updated the scijava base and removed unnecessary explicit versions where it matches the new default.

@tpietzsch I'll check the pom details with @trautmane . Then I think this should be ready for merging and it should be done before things start diverging again.


Autopost pics with hastag

Hi,
is it possible to use hashtags in filenames?

Hi slimline33,
yes it's possible

Thanks.


Help me out Sir

I am getting error whenever user register complaint and click on submit option its giving an error

@shantanu49 Can you provide more detail on this?


Updated Readme.md

Made the instructions to download the app more clear along with providing solutions to possible errors encountered during the process.
This was done as part of a task of GCI 2017 and as a solution of issue #10

Mentors for the task are: @vihanga-liyanage @NickHub4017 @icancode23


Tasks only work in a Windows agent, even though the powershell modules are cross-platform

The JSON for each task restricts it to Windows agents:

https://github.com/DataThirstLtd/databricks.vsts.tools/blob/master/deployScriptsTask/task.prod.json
Running them on a Ubuntu agent yields an error message:
##[error]The current operating system is not capable of running this task. That typically means the task was written for Windows only. For example, written for Windows Desktop PowerShell.
However, the powershell modules from azure.databricks.cicd.tools support Powershell Core and, hence, work on Linux agents.
The JSON files should be updated to remove the restriction to Windows agents.

That won't help. Azure Pipelines can't execute a PowerShell task on PowerShell Core and will always use Windows PowerShell available on the host. For these tasks to work on a non-windows agent, thy need to be rewritten in Node using the Azure Pipelines Task Lib.

Are you referring to a pipeline task defined in a piepline YAML, or to a  marketplace task?
I am using pipeline PowerShell tasks on a ubuntu agent with no problem:

The databricksDeployDBFSFiles.ps1 is simply a modified, simpler version of https://github.com/DataThirstLtd/databricks.vsts.tools/blob/master/deployDBFSFilesTask/vstsDeployDBFSFile.ps1