onPinch onClick still does not work

Requirements:
Please go through this checklist before opening a new issue

[V] Review the documentation
[V] Search for existing issues in: viromedia/viro & ViroCommunity/viro
[V] Use the latest ViroReact release

Environment
Please provide the following information about your environment:

Development OS: Mac, Windows, Linux =>Mac
Device OS & Version: What Android OS version (7.0, 8.0, etc.) or iOS version (11.0, 11.2) is your device running on? iOS 15.0
Version: ViroReact version and React Native version => 2.22.0/0.65.1
Device(s): What device(s) are you are seeing the issue on (i.e. iPhone X, Samsung Note 8, etc) iPhone6s

Description
Describe your issue in detail. Include screenshots if needed. If this is a regression, let us know.
I check the issue found in https://github.com/viromedia/viro/issues/785, and use the way they suggest, but it is no help.
Reproducible Demo
Let us know how to reproduce the issue. Include a code sample, screen capture, video recording. The more information you provide, the better we can support you.
The AR function in my design is one of the pages, and user can choose which AR they want to play.
if(mainVisible){
return (

<TouchableOpacity style={styles.chooseButton}
onPress={()=>_clickExplain('A')}
underlayColor={'#68a0ff'}>
First Game

<TouchableOpacity style={styles.chooseButton}
onPress={()=>_clickExplain('B')}
underlayColor={'#68a0ff'}>
Second Game

<TouchableOpacity style={styles.chooseButton}
onPress={_exitScreen}
underlayColor={'#68a0ff'}>
Exit

)
}else if(firstARVisible){
return (
<React.Fragment>

<View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
{score}
{nextWord}
{num}

  <ViroARSceneNavigator
    autofocus={true}
    initialScene={{
      scene: firstAR,
    }}
    viroAppProps={viroAppProps}
  />
  <MyModal myModal={wordForm} />
  <TouchableOpacity
    style={styles.exitButton}
    onPress={_returnMain}
    underlayColor={'#68a0ff'}>
    <Icon name="exit-to-app" size={30} color="white" />
  </TouchableOpacity>
  </SafeAreaView>
  </View>
  </React.Fragment>
)

}else if(secondARVisible){
return (
<React.Fragment>

<ViroARSceneNavigator
autofocus={true}
initialScene={{
scene: secondAR,
}}
viroAppProps={viroAppProps}
/>

<TouchableOpacity
style={styles.exitButton}
onPress={_returnMain}
underlayColor={'#68a0ff'}>

</React.Fragment>
);
}
const secondAR = (props) => {
const [modalVisible, setModalVisible] = useState(props.arSceneNavigator.viroAppProps.displayObject);
const [scale, setScale] = useState([0.3,0.3,0.3]);
const [rotation, setRotation] = useState([0,0,0]);
const _onRotate = (rotateState, rotationFactor, source) => {
  if (rotateState == 3) {
    var newRotation = [rotation[0],rotation[1]+rotationFactor,rotation[2]];
    setRotation(newRotation)
    console.log("rotation"+newRotation)
    return;
  }

  //arNodeRef.current.setNativeProps({rotation:newRotation});

}
const _onPinch = (pinchState, scaleFactor, source) => {
var newScale = scale.map((x)=>{return x * scaleFactor})
if (pinchState == 3) {
setScale(newScale)
console.log("scale:"+newScale)
return;
}
//arNodeRef.current.setNativeProps({scale:newScale});
}
return (

<Viro3DObject
source={require('./res/pumpkinman_anim/pumpkinman_anim.vrx')}
type="VRX"
materials={"pbr"}
resources={[require('./res/pumpkinman_anim/pumpkinman_body_diffuse.png'), require('./res/pumpkinman_anim/pumpkinman_body_normal.png'), require('./res/pumpkinman_anim/pumpkinman_body_specular.png'), require('./res/pumpkinman_anim/pumpkinman_head_diffuse.png'), require('./res/pumpkinman_anim/pumpkinman_head_normal.png'), require('./res/pumpkinman_anim/pumpkinman_head_specular.png')]}
animation={{ "run": true}}
scale={scale}
rotation={rotation}
position={[0,0,-1]}
onRotate={_onRotate}
onPinch={_onPinch}
/>
    <ViroAmbientLight color={"#aaaaaa"} influenceBitMask={1} />

    <ViroSpotLight
        innerAngle={5}
        outerAngle={90}
        direction={[0,-1,-.2]}
        position={[0, 3, 1]}
        color="#aaaaaa"
        castsShadow={true}
        />
</ViroARScene>

);
};
var styles = StyleSheet.create({
viroContainer :{
position: "absolute",
left: 0,
right: 0,
top: 0,
bottom: 0,
width: "100%",
height: "100%",
},
});

Can you fix the formatting?

@robertjcolley How to fix? Not sure the question is.

@copper123 Did you find the solution already?
If not, I think the issue is in your conditional rendering of ARScene navigator.
Return the AR scene navigator once, just change the props regarding the condition...
I also had issues with onClick handler. It was not working properly. What I was doing was un-mounting and re-mounting the AR scene navigator and the related screen, because of some optimisations I wanted to achieve. Unfortunately I was just breaking the viro event handlers...
As soon I let the Viro scene navigator just mount with my screen component and keep it mounted, event handlers have started working properly.

@ViktorVojtek thanks for your suggestion.
However, In my case, I need two types, one is Viro and one is normal, it means I need to leave the ARScene and back again. How can I solve this?

@copper123 I am doing something similar.
And what I do is that I have a context (you can use redux or state and passing props to children approuch as well) with all the settings for AR Scene and for model/models.
I am reading these settings and data to set up scene and add/remove models to/from the scene.
And when I want to leave the screen with AR scene I just reset this context but leave the screen with AR scene in the navigation stack, so its not un-mounting/re-mounting.
You just need to rethink the architecture of your current screen/components I suppose.

@ViktorVojtek I got this. Thanks

@copper123 I figured out that on react-native 0.67.5 and viro-react 2.23.0 all events works for me. Even onPinch and onRotate works really well on every device I've tesed and had issues before. I have to notice that it works good only if I have Bitcode enabled in Xcode for the whole project and every pods, same with proguard on android. Hope this helps.

Tried all your solutions but still does not work


Typo "(Transact-SQL)"→"(Transact-SQL)

https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-server-audit-status-transact-sql?view=azuresqldb-current&viewFallbackFrom=sql-server-ver15
https://github.com/MicrosoftDocs/sql-docs/blob/live/docs/relational-databases/system-dynamic-management-views/sys-dm-server-audit-status-transact-sql.md
#PingMSFTDocs

@sravanisaluru
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Add "Select/Deselect All" option in the mod list

As in "Enable/Disable All" option.

To deselect everything you can

click on a free spot (group headers also work).
Ctrl+Click on a single selected item (this will deselect it).

What I meant by "select/deselect" is to check/uncheck or enable/disable the mod. Sorry for the confusion

Ah ok, that does sound like a useful feature.
Will see how I can implement that.

Added in version 1.3.0.


[feature] Added ;backdoor

Funny command

server specific :woeis:
I'll make it into a plugin once we add support

🚪

Closed due to inactivity
Feel free to reopen this

Closed due to inactivity
Feel free to reopen this


Clarify ingame commands

Brought up by playtesters.
Issue may also be in Combat along with main
Commands to start a fight and other actions during a Day were not explicitly shown in the text

Thanks to Andrew for playtesting and feedback!

I'll take a look at combat and get some more feedback from Andy-boy.


Support for datacards/datasheets

Thanks for this library -- I've just started playing with this, and it looks like it is going to be super useful :)
Are there any plans for also supporting the creation of datacard/datasheets in this library?
I think this could be quite useful for a few use cases. In particular being able to template out some standard information might be useful for organizations which might want to standardize some information in a Datacard for example, in https://huggingface.co/datasets/BritishLibraryLabs/EThOS-PhD-metadata, we may want to be able to pass in a list of names or OCRDIDs to go under https://huggingface.co/datasets/BritishLibraryLabs/EThOS-PhD-metadata#dataset-curators.
This could end up looking something like:
datacard = DataCard.from_template(
    card_data=DataCardData(  # Card metadata object that will be converted to YAML block
        license='mit',
        tags=['image-classification'],
	...
    ),
    template_path='my_data_template.md', # The template we just wrote!
    dataset_id='cool-model',  # Jinja template kwarg
    external_url='data.bl....', # Jinja template kwarg
   curators=['name1', 'name2']
)

I think this could also be useful for organizations/users using the hub to store data that is actively being developed/annotated. They could then use this feature to automagically create some key stats about the dataset i.e. number of instances, label frequency breakdowns, annotator agreement scores etc. and keep that documentation in sync with a changing dataset? I had planned to add something like this to https://github.com/davanstrien/hugit-cli/ but would rather piggyback on something else!

Absolutely! This was why I originally set up ModelCard to inherit from RepoCard. RepoCard currently inits a CardData object though, which is specific to models (which isn't really right). It would be great if we:

added this feature as well as a default dataset card using the one here.
Figured out a better way of instantiating the card data using the correct object (CardData/DataCardData).
Also perhaps worth renaming CardData -> ModelCardData to avoid confusion?

As for this:

They could then use this feature to automagically create some key stats about the dataset i.e. number of instances, label frequency breakdowns, annotator agreement scores etc. and keep that documentation in sync with a changing dataset

Right now, once the card is written, it's just text. So there's no way of automagically updating the card's text itself without recreating the card. Recreating the card would be easy though, as you'd just pass the updated values to the from_template fn again and re-push the new card to overwrite the old. Does that work for you?

CC: @lhoestq @mariosasko - This might be nice for folks who are creating their own datasets programatically.

Thanks! I was planning to play around with this a bit more tomorrow -- I'll let you know how I get on.


Cannot run commands on console

Expected behavior and actual behavior
cant run any commands on console , getting error below
Steps to reproduce the problem
orientdb> connect remote:<IP_ADDRESS>/database/mydb root admin
Disconnecting from the database [null]...OK
Connecting to database [remote:<IP_ADDRESS>/database/mydb ] with user 'root'...OK
CONFIGURED SERVERS
+----+-----+------+-----------+-------------------+-----------------+-----------------+---------------+---------------+---------+
|#   |Name |Status|Connections|StartedOn          |Binary           |HTTP             |UsedMemory     |FreeMemory     |MaxMemory|
+----+-----+------+-----------+-------------------+-----------------+-----------------+---------------+---------------+---------+
|0   |NODE1|ONLINE|10         |2016-07-15 01:35:15|<IP_ADDRESS>24|<IP_ADDRESS>:2480|1.61GB (27.34%)|4.29GB (72.66%)|5.90GB   |
+----+-----+------+-----------+-------------------+-----------------+-----------------+---------------+---------------+---------+
orientdb {db=mydb}> list databases
Not connected to the Server instance. You've to connect to the Server using server's credentials (look at orientdb-*server-config.xml file)
orientdb {db=mydb}>
Important Questions
Runninng Mode

[ ] Embedded, using PLOCAL access mode
[ ] Embedded, using MEMORY access mode
[ X] Remote

Misc

[ 6] I have a distributed setup with multiple servers. How many?
[X ] I'm using the Enterprise Edition

OrientDB Version

[ ] v2.0.x - Please specify last number:
[ ] v2.1.x - Please specify last number:
[4 ] v2.2.x - Please specify last number:

Operating System

[ ] Linux
[ ] MacOSX
[ ] Windows
[ ] Other Unix
[X ] Other, name?  CENTOS

Java Version

[ ] 6
[ ] 7
[X ] 8

Hi @magician27
you are using the wrong URL, please omit "database":
connect remote:<IP_ADDRESS>/mydb root admin

Thanks
Luigi


Key error in Alignment

Hi,
 I have successfully created the model for other languages tamil and english. But, when try to do alignment `python yalign-align -a en -b ta en-ta en.txt ta.txt > aligned.txt`. I am getting the keyerror

Traceback (most recent call last):   File "yalign-align", line 64, in <module>     document_b = read_document(args['<document_b>'], lang_b)   File "yalign-align", line 44, in read_document     return text_to_document(text, language)   File "/home/sanjana/Documents/Python_pgms/yalign/yalign/input_conversion.py", line 65, in text_to_document     splitter = _sentence_splitters[language]   File "/home/sanjana/Documents/Python_pgms/yalign/yalign/utils.py", line 82, in __missing__     x = self.default_factory(key)   File "/home/sanjana/Documents/Python_pgms/yalign/yalign/input_conversion.py", line 51, in <lambda>     _sentence_splitters = Memoized(lambda lang: nltkload("tokenizers/punkt/%s.pickle" % CODES_TO_LANGUAGE[lang])) KeyError: 'ta'
It would be great if I am getting an earnest reply.
PS:nltk does not support tamil language

Tamil is currently not a supported language for nltk and therefore Yalign fails to load the sentence splitter for Tamil.
I would recommend you to hack the _sentence_splitters  function in yalign/input_conversion.py to implement a custom sentence splitting algorithm for Tamil.
I does not needs to be anything fancy, if you preprocessed the input to Yaling it could be as simple as text.split('\n') (ie, splitting one sentence by line).

Thank You, I did something like this "_sentence_splitters =
text.split("\n")" in yalign/input_conversion.py, It works for other
languages, but returns an empty file for tamil.
If I use command as  python /home/yalign/scripts/yalign-align -a ta -b en
ta-en 2.txt 1.txt > aligned.txt I am getting key error,
File "/home/sanjana/Documents/Python_pgms/yalign/scripts/yalign-align",

line 63, in
document_a = read_document(args['<document_a>'], lang_a)
File "/home/sanjana/Documents/Python_pgms/yalign/scripts/yalign-align",
line 44, in read_document
return text_to_document(text, language)
File "build/bdist.linux-x86_64/egg/yalign/input_conversion.py", line 65,
in text_to_document
File "build/bdist.linux-x86_64/egg/yalign/utils.py", line 82, in
missing
File "build/bdist.linux-x86_64/egg/yalign/input_conversion.py", line 51,
in
KeyError: 'ta'

So i used en instead of ta. I don't get an error but an empty file.  Do not
know where I am wrong. Please help
On Sun, Dec 11, 2016 at 7:13 PM, Rafael Carrascosa<EMAIL_ADDRESS>
wrote:

Tamil is currently not a supported language for nltk and therefore Yalign
fails to load the sentence splitter for Tamil.
I would recommend you to hack the _sentence_splitters function in
yalign/input_conversion.py to implement a custom sentence splitting
algorithm for Tamil.
I does not needs to be anything fancy, if you preprocessed the input to
Yaling it could be as simple as text.split('\n') (ie, splitting one
sentence by line).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/machinalis/yalign/issues/9#issuecomment-266282823,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMmkNhIupSx-m8FOmTayzi11FIy_ih7Tks5rG_34gaJpZM4LJj40
.

--
Thanks and regards,
Sanjanasri J.P

I am sorry Sanjanasri, but I have too much work right now to walk you through debugging that output.
If you have some programming skills my recommendation remains: hack that function.
If you do not, perhaps someone from the community can give you a hand.
Regards,
Rafael

Sanjanasri, at line 31 (or thereabouts) of input_conversion.py is a statement:
CODES_TO_LANGUAGE = {     "cs": "czech",     "da": "danish",     "de": "german",     "el": "greek",     "en": "english",     "es": "spanish",     "et": "estonian",     "fi": "finnish",     "fr": "french",     "it": "italian",     "nb": "norwegian",     "pl": "polish",     "pt": "portuguese",     "nl": "dutch",     "sv": "swedish",     "tr": "turkish", }
Suggest you add "ta": "tamil" to that. You'll probably find more problems after that, but it should stop the key error at least.


Attributes not respected when using FromQueryAttribute

In 5.0.0-rc5, when I use the FromQueryAttribute in my controller method:
public async Task<IActionResult> GetItemFromQuery([FromQuery] ItemRequest itemRequest)
, the RequiredAttribute and RangeAttribute are not written to the swagger file.
This works fine in rc5:
public async Task<IActionResult> GetItem([Required][Range(0, 9999999)] int itemRequest)
In rc4, the Required is respected but Range is not.
A workaround in rc5 is to use the BindRequiredAttribute with the SwaggerDefaultValues: IOperationFilter, but I don't have a workaround for Range.
Both of these worked in 4.0
Attached project demonstrates rc5 behavior.
deleteWeb.zip

Fixed by a61da693d9bd559e3e3c1ab247ac12c6a0096198


Trained new model on new brainwave readings

Trained and created a new model for prediction app using the new and much larger data model.

Model is missing live deployment.


chore(main): release 1.5.1

:robot: I have created a release beep boop
1.5.1 (2024-10-18)
Bug Fixes

removed unnecessary dependencies (7fce595)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.5.1
:sunflower:


Why isn't bidirectionalBindTo commutative?

I have a sample project with a simple textField.
    let stringObservable = Observable<String?>("")
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        stringObservable.value = "hello world"

        // textField.bnd_text.bidirectionalBindTo(stringObservable) // Example 1
        stringObservable.bidirectionalBindTo(textField.bnd_text) // Example 2

        stringObservable.observeNew { newString in
            print(newString)
        }
    }

I would expect both Example 1 and 2 to do the same thing, however Example 2 is the only one that populates the textField initially with "hello world".
The documentation in bidirectionalBindTo seems to indicate that it only does a one-way binding, but I'm assuming this is a typo.
    /// Establishes a one-way binding between the source and the bindable's sink
    /// and returns a disposable that can cancel observing.
    public func bidirectionalBindTo<B : BindableType where B : EventProducerType, B.EventType == Element, B.Element == EventType>(bindable: B) -> DisposableType

Am I mistaken in assuming that Example 1 and 2 should do the same thing, or is this a bug?

Hi @Benuuu,
Both textField and stringObservable have initial value. In case of textField the initial value is nil but it's still a value of String? type. We have to take someones value as a starting point. Rule is that we take the initial value from the object on whom you call bidirectionalBindTo.
Hope this helps.
Yes, that is a typo in the documentation.

@srdanrasic thanks! that clears things up.


We don't need labels for instantiations that use just one line

class RecursiveContinuationRewriter extends Transformer {
  final HelperNodes helper;
  final VariableDeclaration asyncJumpVariable = new VariableDeclaration(
      ":await_jump_var",
      initializer: new IntLiteral(0));

produces:

But I think we don't need IntLiteral.

In case a short repro doesn't reproduce, can you add the path to the file in the sdk where you're seeing this?

A slightly clean up code
class C  {
  final f = new A(
      0,
      new B());
}

class A {
  A(_, __);
}

class B {}

This is occurring because both A and B terminate on the same line. If you introduce a newline you only see the closing label for A:

I guess, from visual inspection about, that the closing label for B doesn't add value, even for consistency (that we're showing one for the A ctor, we so choose to show all closing labels on that line, even one-line ctors).

Or to re-state: we shouldn't ever show a closing label for an item that doesn't span multiple lines.

fixed


retrievePaymentIntent with stripe Custom Connect

Describe the bug
Hello, i am trying to implement this flow: https://stripe.com/docs/payments/save-and-reuse
I am using stripe custom connect so i can't do exactly the same as in the doc
const {retrievePaymentIntent, confirmPayment} = useStripe();
const handleConfirm = async () => {
const {paymentIntent, error} = await retrievePaymentIntent(
        route?.params?.clientSecret,
      );
      console.log(paymentIntent);
      console.log(error);
}

When i do this ( with a valid clientSecret ) for exemple: pi_1J0S3h4CbU68Y2vvxOzxQEbw_secret_qUR8unO6vVPFx64f407eD1gOj
I have an error:
 {"code": "Unknown", "declineCode": null, "localizedMessage": "There was an unexpected error -- try again in a few seconds", "message": "There was an unexpected error -- try again in a few seconds", "stripeErrorCode": null, "type": null}

This does not help me at all to solve the issue, i suspect that it is because i created this intent to an other stripeAccountId but i can't specified this stripeAccountId in the react-native API
This is the backend intent creation
const intent = await this.stripe.paymentIntents.create(
        {
          payment_method: paymentMethod.id,
          amount: amountEur,
          application_fee_amount: collectedFeesAmount,
          currency: 'eur',
          confirmation_method: 'manual',
          confirm: true,
          off_session: true,
          metadata: {
            paymentId: String(payment._id),
          },
        },
        {
          stripeAccount: seller.stripeAccountId,
        },
      );
      return intent;

To Reproduce
Steps to reproduce the behavior:
1 create a payment intent with a stripeAccount header
2 get the clientSecret of the intent
3 try to retrieve the paymentIntent
Expected behavior
I would expect to retreive the paymentIntent
Smartphone (please complete the following information):

Device: [e.g. iphone11 simulator]
OS: [e.g. iOS14.4]

Additional context
I am stuck with similar errors for weeks, i realy think this is because the stripeAccount header is not send when trying to retreive the payment intent, maybe i missed something in the doc

@rchoffar the connected account ID needs to be set in the StripeProvider or initStripe method: https://stripe.dev/stripe-react-native/api-reference/interfaces/stripeproviderprops.html#stripeaccountid

So if the connected account change every time, i need to call initStripe multiple times in my app ?

Getting same error while implementing retrive payments for ACH
 try {
      const paymentIntent = await retrievePaymentIntent(
        'pi_**************_secret_******************',     //secrettoken
      )
        .then(response => {
          console.log(response, 'response');
        })
        .catch(e => {
          console.log(e, 'ERROR');
        });
      console.log('paymentIntent', paymentIntent);

    } catch (error) {
      console.log('Error:', error);
    }


Resolve tailwind styles loss in bun environment

Change the export syntax in tailwind.config.js from CommonJS to ES modules. This modification fixes the issue of missing Tailwind CSS styles when running the application with bun.
I've made some modifications and tested them successfully on Bun 1.1.29 and Node 18.20.2. While I haven't had the chance to test in other environments, I believe the changes should work well across the board.
In my opinion, these modifications are appropriate, but I'm open to feedback if I've overlooked anything. Please feel free to merge this PR if you find it suitable, or close it if you have any concerns.
For context, I've included the error message I initially encountered below.
bunx --bun astro dev

...

warn - The `content` option in your Tailwind CSS configuration is missing or empty.
warn - Configure your content sources or your generated CSS will be missing styles.
warn - https://tailwindcss.com/docs/content-configuration

Thank you for your consideration!

Hi @IvanLi-CN
Thank you very much for this.
If you run into other AstroWind issues related to Bun let us know.


Elevation prompt not shown and "User did not grant permission" on macOS 10.12.6

See https://github.com/resin-io/etcher/issues/1860.
@craig-mulligan tried running the usage example:
sudo.exec('echo hello', {},
  function(error, stdout, stderr) {
    if (error) throw error;
    console.log('stdout: ' + stdout);
  }
);

But all he gets is:
/Users/gaudi/work/sudo-test/index.js:8
    if (error) throw error;
               ^

Error: User did not grant permission.
    at ReadFileContext.callback (/Users/gaudi/work/sudo-test/node_modules/sudo-prompt/index.js:316:49)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:367:13)

without any prompt at all.
I unzipped the applet to see if I could debug things myself, but got stuck a bit. The AppleScript file calls sudo-prompt-script, which then calls /bin/bash sudo-prompt-command 1>stdout 2>stderr, but I can't see the source of sudo-prompt-command anywhere.
Maybe you have some suggestions to debug this further?

Thanks @jviotti,
The source of the sudo-prompt-command script is written out dynamically during exec() here: https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L244
If the code file is not found (ENOENT) we assume that a privilege error occurred. But if the elevation prompt is not shown it's possible that something else went wrong in between MacOpen() and MacResult().
@craig-mulligan, would you please try the following and let me know what you get for each?
which mkdir touch bash echo chown

osascript -e 'do shell script "echo foo" with administrator privileges'

sudo -k
sudo echo bar

Hey @jorangreef 👋
Sure, here's the output for each:
➜  sudo-test which mkdir touch bash echo chown
/bin/mkdir
/usr/bin/touch
/bin/bash
echo: shell built-in command
/usr/sbin/chown

➜  sudo-test osascript -e 'do shell script "echo foo" with administrator privileges'

osascript: can't open default scripting component.
➜  sudo-test sudo -k
sudo echo bar
Password:
bar

Looks like a problem with the AppleScript interpreter. According to https://discussions.agilebits.com/discussion/64048/the-operation-couldnt-be-completed-osascript-cannot-open-default-scripting-component, this can happen due to a broken macOS installation. @craig-mulligan could it be that installing bootcamp messed up your system?
One of the guy says:

You may wish to try repairing your disk with Disk Utility (in /Applications/Utilities) first and see if that helps.

Thanks @craig-mulligan and @jviotti, if Disk Utility repair does not work you could also try rebooting to see if osascript -e 'do shell script "echo foo" with administrator privileges' works after reboot (this has helped others), or else reinstall macOS over your existing macOS.

The source of the sudo-prompt-command script is written out dynamically during exec() here: https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L244

I'm a Linux-user rather than a Mac-user (so I don't know how the permission system works on macOS), but does that assume that the program that's making use of sudo-prompt is itself stored in a writable directory? What happens if the program that's making use of sudo-prompt is stored in a readonly directory?

Hi Andrew
Thanks for the question, the write is done to a tmp directory not to the application directory. This tmp directory is versioned using a UUID to prevent collisions with other sudo prompt instances, and is cleaned up after use.
Joran
On 28 Nov 2017, at 16:17, Andrew Scheller<EMAIL_ADDRESS>wrote:
The source of the sudo-prompt-command script is written out dynamically during exec() here: https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L244
I'm a Linux-user rather than a Mac-user (so I don't know how the permission system works on macOS), but does that assume that the program that's making use of sudo-prompt is itself stored in a writable directory? What happens if the program that's making use of sudo-prompt is stored in a readonly directory?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Ahh, thanks for the great answer Joran :-)

@craig-mulligan any progress with your Mac?

Ping @hobochild

Thanks, not sure how I got @craig-mulligan!

Looks like he renamed his GH username ;-)

Hey @jorangreef cc @jviotti @lurch.
rebooting and repairing the drive didn't seem to work. But I completely formatted the drive and reinstalled macos and now osascript -e 'do shell script "echo foo" with administrator privileges' opens the sudo prompt as expected.
Looks like it was likely a broken macOS installation as @jviotti pointed to earlier.
Thanks all!

Thanks @hobochild @jviotti !


Laravel 11: Autodiscovery of events is not working anymore

The ModularEventServiceProvider calls shouldDiscoverEvents. However, with the new structure it is
public function shouldDiscoverEvents()
{
    return get_class($this) === __CLASS__;
}

which will always evaluate to false in an inherited class. This means that
https://github.com/InterNACHI/modular/blob/148cfedda25202f086a8fe58014250f860583af2/src/Support/ModularEventServiceProvider.php#L20-L26
will always be false.

Going forward I would like to introduce a fix for it. However, I am not sure what the desired behavior will be as there is no way anymore to determine if autloading has been manually enabled or disabled. I guess, the best way forward would be a config value in the package where it can be enabled or disabled. What do you think?

@Wulfheart I'm trying to confirm on my end… but it seems like the ModularEventServiceProvider might break event discovery in general in Laravel 11. Not 100% sure, but it kinda looks like if you register any provider that extends the Laravel EventServiceProvider, that will cause Laravel to not register the default one…

Isn't there any workaround yet ?

@mra-dev I have one in a branch but that is not a durable solution.

I actually found a nice and easy workaround. Just use Laravel 10's default EventServiceProvider & add it to bootstrap/providers.php's Array & set shouldDiscoverEvents to return true. And suddenly everything's just working fine.
// app/Providers/EventServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;

class EventServiceProvider extends ServiceProvider
{
    public function shouldDiscoverEvents(): bool
    {
        return true;
    }
}

// bootstrap/providers.php

<?php

use App\Providers\EventServiceProvider;

return [
    App\Providers\AppServiceProvider::class,
    EventServiceProvider::class,
];

running artisan command:
php artisan event:list
before:
...
...
  Illuminate\Queue\Events\JobProcessed .............................................................................................................
  ⇂ Closure at: /vendor/spatie/laravel-ignition/src/IgnitionServiceProvider.php:263
  Illuminate\Queue\Events\JobProcessing ............................................................................................................
  ⇂ Closure at: /vendor/laravel/framework/src/Illuminate/Log/Context/ContextServiceProvider.php:38
  ⇂ Closure at: /vendor/spatie/laravel-ignition/src/IgnitionServiceProvider.php:257

after:
...
...
  Illuminate\Queue\Events\JobProcessed .............................................................................................................
  ⇂ Closure at: /vendor/spatie/laravel-ignition/src/IgnitionServiceProvider.php:263
  Illuminate\Queue\Events\JobProcessing ............................................................................................................
  ⇂ Closure at: /vendor/laravel/framework/src/Illuminate/Log/Context/ContextServiceProvider.php:38
  ⇂ Closure at: /vendor/spatie/laravel-ignition/src/IgnitionServiceProvider.php:257

  MraDev\Product\Events\UploadMedia ................................................................................................................
  ⇂ MraDev\Upload\Listeners\ProcessUploadingMedia@handle

Unfortunately this is looking like a harder thing the fix than I hoped. We can’t extend the Laravel service provider any more, so we need to replace more than I expected. I have it partially fixed, but I’m on spring break with my kids, so I have less time to work on it than usual. I’m gonna be on a train for 5 hours today, so hopefully I can get this sorted out then.

@inxilpro Yeah for sure. How should i do that? Update it from composer.json or ...?

@mra-dev you can do composer require internachi/modular:dev-laravel-11-event-support to install it from that branch and try it out.

@inxilpro Did you check my Solution yourself & what do you think of it ?

@inxilpro Did you check my Solution yourself & what do you think of it ?

That solution is great! I just want to make sure that the package works without any workarounds…

(I'm going to close this because I just confirmed that #88 works in Laravel 11.)


Update BatteryLevelMonitor.java

Remove the email alert for battery monitor for normal level because it is not crucial and to close #24

@blootsvoets sure. Done now


Make Config Nodetype groups CamelCased.

Fixes #316
Description
So now you have to do this (note Basin in core/test/docs.toml), I'm not sure if I like it.
# can also be set to a date-time like 1979-05-27T07:32:00
starttime = 2019-01-01  # required
endtime = 2021-01-01    # required

# all timesteps are in seconds
update_timestep = 86400.0  # optional, default 1 day

# input files
geopackage = "model.gpkg"  # required

# Specific tables can also go into Arrow files rather than the GeoPackage.
# For large tables this can benefit from better compressed file sizes.
# This is optional, tables are retrieved from the GeoPackage if not specified in the TOML.
[Basin]
forcing = "forcing.arrow"

[solver]
algorithm = "QNDF"  # optional, default "QNDF"
# autodiff can only be set to true for implicit solvers, but is not yet supported
autodiff = false  # optional, default false
# saveat can be a number, which is the saving interval in seconds, or
# it can be a list of numbers, which are the times in seconds since start that are saved
saveat = []  # optional, default [], which will save every timestep
dt = 0.0  # optional, default 0.0
abstol = 1e-6  # optional, default 1e-6
reltol = 1e-3  # optional, default 1e-3
maxiters = 1e9  # optional, default 1e9

I am very happy that this will get rid of tabulatedratingcurve. Is there anything specific that you don't like here?

Everything in that file is lowercased, and suddenly groups have to be CamelCased? I tried to be backwards compatible (also allowing the lowercased alias), but couldn't get that to work quickly.
But if you and Martijn are happy with this, we should merge :)

Everything in that file is lowercased, and suddenly groups have to be CamelCased? I tried to be backwards compatible (also allowing the lowercased alias), but couldn't get that to work quickly.

Yeah, snake_case would be more natural for the TOML file.
But that would mean that the type would be snake_case too, right?


Use Nx Atomizer to split E2E testing into chunks

Description:
e2e tests currently work, but could they work **better?** This ticket aims to address that question. We should be able to use Nx Atomizer, an automatic e2e test splitter. It breaks e2e runs into smaller pieces, allowing for CI to be rerun on any flaky tests or identify any errors faster.
Dev story:
I want to use Nx Atomizer
because it will automatically split E2E tests
and this will help me to allow for easier identification/reruns of flaky tests and allow for parallelization.
Development Checklist and tasks:

[ ] Identify configuration for E2E tests as they are currently.
[ ] Recreate exact E2E test run environment with NX.
[ ] Use Nx config to allow for automatic test splitting.
[ ] Set GitHub Actions to run using split tests.

Consideration and notes

Atomizer general docs
Playwright manual config

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included (if required)
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done (Note: If any of these points are not applicable, mark N/A)

[ ] Acceptance criteria are tested by the CI pipeline
[ ] UI meets accessibility requirements
[ ] Configuration changes are documented, documentation and designs are updated
[ ] Passes code peer-review
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Ticket is ready to be merged to main branch
[ ] Can be demoed in Sprint Review
[ ] Bugs or future work cards are identified and created
[ ] Reviewed and approved by Product Owner

A POC branch was run using Nx Atomizer to split up the e2e tests. The result was that e2e was flakier than berfore. More errors regularly appeared. A potential cause of this is due to the extra overhead of restarting/reseting playwright and running so many in parallel. Additionally, with splitting them and Matrixing them, they each need to spin up a development server to run the tests against.
Will explore further to see if there are any benefits we can draw out of Nx with regards to e2e.

A POC branch was run using Nx Atomizer to split up the e2e tests. The result was that e2e was flakier than berfore. More errors regularly appeared. A potential cause of this is due to the extra overhead of restarting/reseting playwright and running so many in parallel. Additionally, with splitting them and Matrixing them, they each need to spin up a development server to run the tests against.
Will explore further to see if there are any benefits we can draw out of Nx with regards to e2e.

would this be helped by the Nx Replay caching? Part of this card: https://github.com/bcgov/cas-reporting/issues/232

Iceboxing reason: When this was initially written and the POC was made, E2E tests had a tendency to be flakier. Enhancements and refinements to E2E suites by the team greatly decreased flakiness, making issues (particularly increased flakiness) found with the splitting implementations in this be an overall detriment without parallel benefits. Time spent to resolve this would be better spent elsewhere.
If we find a big increase in E2E time, this might be worth exploring again.


Support custom components

It would be useful if one could add custom components simply based on Docker images. Something like this:
web.site:
  # ...

custom.selenium:
  image: selenium/standalone-chrome

I'm not sure this is already possible with custom images.
This is a more general approach to the issue mentioned in #364 which could a) solve a huge chunk of problems and b) open a huge can of worms. ;-)

Give it a shot and find out?  Just use data.selenium instead of custom.selenium, and go from there.  It'll be a bit of trial and error, but that's how these things go.  You should get all the standard env vars you'd expect elsewhere, making it easy enough to connect and run tests as desired.
One drawback is you'd have another component deployed to production that you wouldn't necessarily need/want there, so there might be an advantage to supporting a data variant that's only present in development.

True, having that component in production wouldn't be that useful. Do you think it would make sense that Nanobox supports "Dev components" similar to dev_packages, etc.?
For now a simple cat $selenium >> boxfile.yml could help to add the component on demand.

I've now added this to my boxfile.yml (using chrome as component name to allow e.g. for firefox in the future):
data.chrome:
  image: selenium/standalone-chrome

But with nanbox run I get this error:
    data.chrome :
      √ Reserve IPs
      √ Starting docker container
      √ Attaching network
      ! Gathering requirements

Error   : bad exit code(126)
Context : failed to sync components -> failed to provision components -> failed to setup component (data.chrome) -> failed to run plan hook -> util:Exec:/opt/nanobox/hooks/plan

Enter to continue:

Any ideas how I could debug this? Manually running a container from this image works fine.

Huh.  Looks like it's requiring the Nanobox hooks to be available in the image in order to consider it running.  My understanding was that the absence of hooks should only reduce some of the capabilities, not prevent images from running entirely.

That's the intent, but apparently that's not the case currently. We'll need to make issues to address these.

The plan hook is currently required. I will have to figure out how to remove that dependency. @tylerflint is it possible to run custom in production? I want to make sure both local and production are in parity.

I tried to verify this but it's not working after a nanobox-update. And what I see is indeed odd:
λ nanobox version
Nanobox version 0.9.0 (d49e35eebb806a217d5e019209d15ac0)

How can I update to the latest version (2.0.2 ATM)?

Hey @mbrodala, sorry for the confusion on this. Here's a gist with instructions to upgrade to v2: https://gist.github.com/sanderson/73d91939710bf99992cdd5baf35adc89
Thanks

Thanks for the heads up, that explains a lot. ;-)


fix: glossary term reviewers is not updating

Describe your changes:

I worked on the glossary terms reviewers issue.

Type of change:

[x] Bug fix

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

@chirag-madlani are there any tests added here? if not we need to


[Task 5] OSError: sndfile library not found

I have freshly installed ubuntu bash on windows 10. I have installed all the requirements using pip. upon typing python task5.py I am getting the following error:
Traceback (most recent call last):
File "task5.py", line 11, in
import dcase_util
File "/home/erezsh/.local/lib/python2.7/site-packages/dcase_util/init.py", line 6, in
from . import containers
File "/home/erezsh/.local/lib/python2.7/site-packages/dcase_util/containers/init.py", line 953, in
from .audio import *
File "/home/erezsh/.local/lib/python2.7/site-packages/dcase_util/containers/audio.py", line 8, in
import soundfile
File "/home/erezsh/.local/lib/python2.7/site-packages/soundfile.py", line 142, in
raise OSError('sndfile library not found')
OSError: sndfile library not found
What am I missing?

Solved by installing with sudo apt-get install libsndfile1 maybe it should be added to the requierments of dcase_util?

Note about this has been now added to the documentation of the dcase_util > https://dcase-repo.github.io/dcase_util/installation.html


[WIP] uORB::Publication automatically set timestamp

WORK IN PROGRESS
The eventual goal is the timestamp field of a uORB messsage to be metadata that corresponds (atomically) with the message being published and available to the rest of the system. This is an incremental step in that direction that removes a lot of the current potential misuse. Things like setting the timestamp to an inappropriate value (like a much older sample timestamp passed through), setting it much earlier than actual publication, or even just forgetting to set it at all.
Ideally this would be pushed into the uORB::DeviceNode internals and the timestamp set in the same critical section as the message copy, however we're currently in an odd position with the timestamp not strictly required in every message. This needs to be revisited with ROS2 taken into account, including the possibility of directly into a std_msgs/Header equivalent.
For example in https://github.com/PX4/Firmware/pull/13955 the accel and gyro sensor message are updated to have a dedicated timestamp_sample field that we set as closely as possible to time corresponding to the contained data.

@dagar what are we missing here to bring it in?

@dagar what are we missing here to bring it in?

Finding out why the tests are broken and carefully reviewing special cases where setting the timestamp manually has mattered historically.

sensor pipeline sensor_accel/gyro -> sensor_combined
mavlink receiver setting timestamps time timesync
replay (currently uses the old api, but it would good to understand any requirements for manual timestamping to transition later)

Note, this isn't the complete solution, but I see it as an incremental step that brings us closer. I ultimately want the timestamp to be set in the same critical section where the published data is copied into the buffer. I want the publication timestamp to be as close as possible to the actual time it is available to subscribers in the system.

EDIT: If we can guarantee that timestamp is the first 8 bytes of every single message this could be pushed into uORB::DeviceNode.
https://github.com/PX4/Firmware/blob/69b38c9cedde2f1827203c8b752786414fac9001/src/modules/uORB/uORBDeviceNode.cpp#L275-L283

What do we gain from pushing to uORB::DeviceNode? The "close as possible to the actual time it is available to subscribers in the system" you said?

What do we gain from pushing to uORB::DeviceNode? The "close as possible to the actual time it is available to subscribers in the system" you said?

I feel that as soon as we do that we will be constraining ourselves.

I don't think so. We might have some side mechanism for very special cases like replay that might need to set it manually, but for everything else we can rely on uORB to do it perfectly.


Flutter run throws a FileSystemException after upgrading gradle plugin

I'm using Android Studio 3 preview 3 and updated my gradle plugin version to 3.0.0-alpha3 and when running flutter run in terminal I get a FileSystemException. The path does exist on my machine so I'm unsure why the error is being generated. I also filed an issue related to running flutter build apk (link below).
https://github.com/flutter/flutter/issues/10629
Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter run -d FA71A0302167
exception
FileSystemException: FileSystemException: Cannot copy file to 'build/app/outputs/apk/app.apk', path = 'build/app/outputs/apk/app-debug.apk' (OS Error: No such file or directory, errno = 2)
#0      _File.throwIfError (dart:io/file_impl.dart:599)
#1      _File.copySync (dart:io/file_impl.dart:321)
#2      _LocalFileSystemEntity&ForwardingFile.copySync (package:file/src/forwarding/forwarding_file.dart:25)
#3      buildGradleProjectV2 (package:flutter_tools/src/android/gradle.dart:250)
<asynchronous suspension>
#4      buildGradleProject (package:flutter_tools/src/android/gradle.dart:192)
<asynchronous suspension>
#5      buildApk (package:flutter_tools/src/commands/build_apk.dart:83)
<asynchronous suspension>
#6      AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:354)
<asynchronous suspension>
#7      FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:233)
<asynchronous suspension>
#8      HotRunner.run (package:flutter_tools/src/run_hot.dart:183)
<asynchronous suspension>
#9      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:329)
<asynchronous suspension>
#10     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:210)
<asynchronous suspension>
#11     RunCommand.verifyThenRunCommand (package:flutter_tools/src/commands/run.dart:217)
<asynchronous suspension>
#12     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:156)
<asynchronous suspension>
#13     CommandRunner.runCommand (package:args/command_runner.dart:194)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:262)
<asynchronous suspension>
#15     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:109)
#16     new Future.sync (dart:async/future.dart:206)
#17     CommandRunner.run (package:args/command_runner.dart:109)
#18     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:157)
#19     run.<anonymous closure> (package:flutter_tools/executable.dart:142)
<asynchronous suspension>
#20     AppContext._run (package:flutter_tools/src/base/context.dart:76)
<asynchronous suspension>
#21     AppContext.runInZone.<anonymous closure> (package:flutter_tools/src/base/context.dart:66)
#22     _rootRun (dart:async/zone.dart:1120)
#23     _CustomZone.run (dart:async/zone.dart:1001)
#24     runZoned (dart:async/zone.dart:1467)
#25     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#26     run (package:flutter_tools/executable.dart:114)
<asynchronous suspension>
#27     main (package:flutter_tools/executable.dart:67)
<asynchronous suspension>
#28     main (file:///Users/albertlardizabal/dev/flutter/packages/flutter_tools/bin/flutter_tools.dart:16)
#29     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#30     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

flutter doctor
[✓] Flutter (on Mac OS X 10.12.5 16F73, locale en-US, channel master)
    • Flutter at /Users/albertlardizabal/dev/flutter
    • Framework revision 0f277fcc8a (6 days ago), 2017-06-06 17:19:27 +0200
    • Engine revision 8686a45810
    • Tools Dart version 1.24.0-dev.3.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.3)
    • Android SDK at /Users/albertlardizabal/Library/Android/sdk
    • Platform android-25, build-tools 25.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[-] iOS toolchain - develop for iOS devices (Xcode 8.3.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 8.3.3, Build version 8E3004b
    ✗ libimobiledevice and ideviceinstaller are not installed or require updating. To update, run:
        brew update
        brew uninstall --ignore-dependencies libimobiledevice
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    • ios-deploy 1.9.0
    • CocoaPods version 1.2.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Gradle version 3.2
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Community Edition (version 2017.1.4)
    • Flutter plugin version 14.0
    • Dart plugin version 171.4694.29

[✓] Connected devices
    • Pixel        • FA71A0302167                             • android-arm • Android 7.1.2 (API 25)
    •              • c0e109b7e55a826627aa0f3e79af8931534f3554 • ios         • iOS  ()
    • Posse iPhone • ac24c3de3cbe39efed542095769ce83fc89630f7 • ios         • iOS 10.3.1 (14E304)
    • iPhone 6     • 97A6FC25-AE09-4302-A8B3-565058389FE7     • ios         • iOS 10.3 (simulator)

Sorry to hear, do the instructions in https://github.com/flutter/flutter/issues/10236#issuecomment-303029027 work as a workaround?

I tried different combinations but this is what I see after pointing flutter config to an earlier version of gradle (3.3 - previously 3.5). The new exception is immediately below (file exception seems to be gone). I also included the outputs from flutter doctor and flutter run.
FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Failed to transform file 'flutter-x86.jar' to match attributes {artifactType=android-classes} using transform JarTransform
   > Transform output file /Users/albertlardizabal/Posse/clients/test/test-flutter/build/app/intermediates/flutter/flutter-x86.jar does not exist.

☆ flutter doctor
[✓] Flutter (on Mac OS X 10.12.5 16F73, locale en-US, channel master)
    • Flutter at /Users/albertlardizabal/dev/flutter
    • Framework revision 37e32d5aee (20 hours ago), 2017-06-12 12:23:13 -0700
    • Engine revision ffe8181ffe
    • Tools Dart version 1.24.0-dev.6.7

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.3)
    • Android SDK at /Users/albertlardizabal/Library/Android/sdk
    • Platform android-25, build-tools 25.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] iOS toolchain - develop for iOS devices (Xcode 8.3.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 8.3.3, Build version 8E3004b
    • ios-deploy 1.9.0
    • CocoaPods version 1.2.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Gradle version 3.2
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] Gradle (3.3)
    • gradle-dir = /usr/local/Cellar/gradle/3.3
    • Flutter supports building with Gradle from Android Studio.
      Consider removing your gradle-dir setting by running:
      flutter config --gradle-dir=

[✓] IntelliJ IDEA Community Edition (version 2017.1.4)
    • Flutter plugin version 14.0
    • Dart plugin version 171.4694.29

☆ flutter run -d FA71A0302167
Launching lib/main.dart on Pixel in debug mode...
Running 'gradle assembleDebug'...
Configuration 'debugCompile' in project ':app' is deprecated. Use 'debugImplementation' instead.
Configuration 'profileCompile' in project ':app' is deprecated. Use 'profileImplementation' instead.
Configuration 'releaseCompile' in project ':app' is deprecated. Use 'releaseImplementation' instead.
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
Configuration 'androidTestCompile' in project ':app' is deprecated. Use 'androidTestImplementation' instead.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
Configuration 'compile' in project ':firebase_analytics' is deprecated. Use 'implementation' instead.
Configuration 'debugProvided' in project ':firebase_analytics' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':firebase_analytics' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'compile' in project ':firebase_database' is deprecated. Use 'implementation' instead.
Configuration 'debugProvided' in project ':firebase_database' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':firebase_database' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':path_provider' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':path_provider' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'compile' in project ':permit' is deprecated. Use 'implementation' instead.
Configuration 'debugProvided' in project ':permit' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':permit' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':url_launcher' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':url_launcher' is deprecated. Use 'releaseCompileOnly' instead.

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Failed to transform file 'flutter-x86.jar' to match attributes {artifactType=android-classes} using transform JarTransform
   > Transform output file /Users/albertlardizabal/Posse/clients/test/test-flutter/build/app/intermediates/flutter/flutter-x86.jar does not exist.

cc @mit-mit @mravn-google

cc @jakobr-google

@alardizabal
FileSystemException: FileSystemException: Cannot copy file to 'build/app/outputs/apk/app.apk', path = >'build/app/outputs/apk/app-debug.apk' (OS Error: No such file or directory, errno = 2)

Similar issue, after upgrading to gradle build tools "3.0.0-alpha3" and running flutter run --release.
I noticed that the file app-release.apk that is not found is actually in 'build/app/outputs/apk/release/app-release.apk' folder.
But the path in exception logs is without the /release/ folder.
FileSystemException: FileSystemException: Cannot copy file to 'build/app/outputs/apk/app.apk', path = 'build/app/outputs/apk/app-release.apk' (OS Error: No such file or directory, errno = 2)

Guide about migration to the new Android plugin 3.0.0-x.
https://developer.android.com/studio/preview/features/new-android-plugin-migration.html

Current workaround for me was:
In file: flutterApp/android/app/build.gradle
android {
    applicationVariants.all { variant ->
        variant.outputs.each  { output ->
            //outputs file to build/app/outputs/apk instead of build/app/outputs/apk/release
            output.outputFileName = "../app-release.apk"
        }
    }
}

I tried fixing in the flutter.gradle.

Adding the: "project.compileDebugKotlin.dependsOn project.flutterBuildX86Jar", fixes the error "flutter-x86.jar does not exist." when using "flutter run --debug"
Adding the hack(currently no time to find better way): output.outputFileName = "../app-${variant.name}.apk" fixes the (OS Error: No such file or directory, errno = 2) when using "flutter run --release"

Complite diff of the flutter.gradle, testing on "gradle 4.0-rc-3" and "com.android.tools.build:gradle:3.0.0-alpha3":
Index: packages/flutter_tools/gradle/flutter.gradle
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- packages/flutter_tools/gradle/flutter.gradle	(revision 1a1bbacf0d16c1780377ea77580ec3b05c387f88)
+++ packages/flutter_tools/gradle/flutter.gradle	(revision )
@@ -19,9 +19,10 @@
 buildscript {
   repositories {
     jcenter()
+    google()
   }
   dependencies {
-    classpath 'com.android.tools.build:gradle:2.2.3'
+    classpath 'com.android.tools.build:gradle:3.0.0-alpha3'
   }
 }

@@ -100,7 +101,7 @@
             localEngineSrcPath = engineOut.parentFile.parent

             project.dependencies {
-                compile project.files(flutterJar)
+                implementation project.files(flutterJar)
             }
         } else {
             Path baseEnginePath = Paths.get(flutterRoot.absolutePath, "bin", "cache", "artifacts", "engine")
@@ -131,9 +132,9 @@
             }

             project.dependencies {
-                debugCompile project.files(flutterX86Jar, debugFlutterJar)
-                profileCompile project.files(profileFlutterJar)
-                releaseCompile project.files(releaseFlutterJar)
+                debugImplementation project.files(flutterX86Jar, debugFlutterJar)
+                profileImplementation project.files(profileFlutterJar)
+                releaseImplementation project.files(releaseFlutterJar)
             }
         }

@@ -147,7 +148,7 @@
             def pluginProject = project.rootProject.findProject(":$name")
             if (pluginProject != null) {
                 project.dependencies {
-                    compile pluginProject
+                    implementation pluginProject
                 }
                 pluginProject.afterEvaluate this.&addFlutterJarDependency
             } else {
@@ -182,6 +183,7 @@

         if (project.tasks.findByName('flutterBuildX86Jar')) {
             project.compileDebugJavaWithJavac.dependsOn project.flutterBuildX86Jar
+            project.compileDebugKotlin.dependsOn project.flutterBuildX86Jar
         }

         File kernel
@@ -226,6 +228,11 @@
                 with flutterTask.assets
             }
             variant.outputs[0].processResources.dependsOn(copyFlxTask)
+            variant.outputs.each  { output ->
+                //outputs file to build/app/outputs/apk instead of build/app/outputs/apk/$variant.name
+                //fast workaround, find better way
+                output.outputFileName = "../app-${variant.name}.apk"
+            }
         }
     }
 }

We could also change flutter_tools to look for the APK in either the old (outputs/apk/app-$variant.apk) and new (outputs/apk/$variant/app-$variant.apk) locations

@lukef my understanding is your team has moved back to gradle plugin 2.3 and this is no longer an immediate blocker?  Is that correct?

Correct

For some reason, release APK builds fine, whereas debug APK does not. It fails with the following error when trying to build on GitLab CI:
[ +236 ms] :app:compileDebugKotlin
[  +10 ms] Download https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jre7/1.1.4-3/kotlin-stdlib-jre7-1.1.4-3.jar
[ +103 ms] Download https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.4-3/kotlin-stdlib-1.1.4-3.jar
[  +20 ms] :app:compileDebugKotlin FAILED
[  +46 ms] FAILURE: Build failed with an exception.
[   +3 ms] * What went wrong:
[        ] Could not resolve all files for configuration ':app:debugCompileClasspath'.
[        ] > Failed to transform file 'flutter-x86.jar' to match attributes {artifactType=android-classes} using transform JarTransform
[   +4 ms]    > Transform output file /builds/mycompany/myapp/build/app/intermediates/flutter/flutter-x86.jar does not exist.
[        ] * Try:
[        ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 32s
[        ] 98 actionable tasks: 98 executed
[ +901 ms] "flutter apk" took 144,400ms.
Gradle build failed: 1

Locally both debug and release work fine.
classpath 'com.android.tools.build:gradle:3.0.1'
compileSdkVersion 26
buildToolsVersion '27.0.2'
minSdkVersion 16
targetSdkVersion 26

@alibitek would you mind opening a new bug please with some details about the issue you are seeing?

I think the issue I'm having is fixed in master branch by PR Support Android Gradle plugin v3.0.1 , which is not yet merged into alpha branch
Meanwhile, I've applied the workaround mentioned by @asaarnak in https://github.com/flutter/flutter/issues/10992#issuecomment-337356417 and now the debug build successfully:
android/build.gradle
...

// FIXME: Workaround for failing debug build https://github.com/flutter/flutter/issues/10992#issuecomment-337356417
// FIXED in https://github.com/flutter/flutter/pull/13492
configure(project(':app')) {
    tasks.compileDebugKotlin.dependsOn flutterBuildX86Jar
}

it's Aug 2018 and I'm still having this issue

@1and1get2 the issue is closed since a long time your issue is probably a different one or perhaps a regression.
Please create a new issue with the information that allows to reproduce.

I don't yet aware a way to reliably reproduce this issue, however, most of the time it happens on a newly setup kotlin projects (probably fresh git clone?) the compiler complains about flutterBuildX86Jar task, once manually ran ./gradlew flutterBuildX86Jar all is good.
I'll remember to gather more information on the next occurrence.

@1and1get2

with the information that allows to reproduce.

at least as much as you can provide.
I'm just pretty sure comments on closed issues won't get enough attention.


refactor: factorize cross-validation logic

The code is spread between items/cross_validation_item.py and sklearn/cross_validation.py.
I find it pretty hard to contribute and to maintain.
I recommend to centralize the logic in a sklearn/cross_validate/ directory, leaving items/cross_validation_item.py just as a class containing data (without business logic).
I recommend to split the code from sklearn/cross_validation.py in dedicated files (plot, compute etc.).
In addition, i recommend slightly modifying the code of the cross_validation function itself to create item only when necessary. My idea is to create the plot first, show the plot after, and in the late part create the item if necessary.

Also gives us flexibility for future decisions, like monkey-patching sklearn.


Fix failing Cypress test

This PR resolves #73.

No problem. I had to run npx cypress run instead to execute tests.


BUG: Trigger replace links not working

What happened: When attempting to run trigger replace links, I keep getting a workflow permissions error even though the actions have write/read permissions
What you expected to happen: for this to work
Minimal Complete Verifiable Example:
See https://github.com/ProjectPythia/esgf-cookbook/actions/workflows/trigger-replace-links.yaml
Anything else we need to know?: I have seen this with other projects... but not sure how to solve the issue
Environment: All

Odd. I haven't seen this before. I see that "Read and Write permissions" have been set for the workflows, but the error log suggests otherwise.


feat(target): support electron preload async chunk loading

What kind of change does this PR introduce?
This is proposal feature PR to extend current webpack's target support for Electron (http://electron.atom.io/), named electron-preload. Please find below the description for what it's for with latest Electron changes.
What is preload script?
As name stands for, it is a script that will be loaded before other scripts run in the page. This script will always have access to node APIs no matter whether node integration is turned on or off (https://electronjs.org/docs/api/browser-window).
This script will be evaluated & executed before any web page load occurs when it's specified in option.
What changes in this PR?
Technically preload script shares majority in common with electron-renderer target. Only notable difference is it is not available to use JSONPTemplate to load async chunks: preload script doesn't have entry HTML, neither have known-lifetime document existence to attach jsonp functions into. In result, using await import() in preload script with electron-renderer won't work.
In contrast, preload script must have node.js api access all time, which means it can use NodeTemplate instead for async chunk loading. This PR makes new target inherits electron-renderer, swaps out JSONP to NodeTemplate.
Other targets like async-node or electron-main can't be used then?
Both target allows NodeTemplate but effectively defeats all specific configuration required for electron's renderer processes like Electron renderer external config and vice versa.
Why do you think this is important to be included in core?
Though this is trivial enough change, I think given recent Electron's design change makes this worthwhile.
From Electron@5, renderer process's nodeIntegration is being turned off by default (https://github.com/electron/electron/pull/16235). This means in plain renderer process context, application code cannot access node / electron api directly. With this option turned off, recommended way is setup preload script to expose native functionality and let main renderer process only access those exposed api instead.
This means,

preload script now becomes near de-facto initialization logic for most electron application
loading time of preload script will be matter, cause time to load preload script will block main page loading
especially 2 will be important as now preload script have to load most nodejs side function logic for main pages

and supporting async chunk loading will provide the amount of performance improvement over. Having webpack core expose specified target for preload and encouraging to use async chunk loading for preload can help easier optimization of preload script based application design pattern for electron applications.
Webpack's target config itself allows to specify function to override custom target, but so far I couldn't find way to inherit existing config to override few options only. Still, there is a possibility I may not fully aware around webpack config so it can be achieved trivially without expanding target list. Opened PR since change's trivial enough, can be closed easily in that case.

Did you add tests for your changes?
Not yet. I believe there are high chance this will not be accepted in core and would like to discuss feasiblity before shape PR further.

Does this PR introduce a breaking change?
No.

What needs to be documented once your changes are merged?
Webpack documentation around options.target needs to include new target.

Thanks


[Feature]: Add "enableYearPagination" to the DateRangePicker

What problem does this feature solve?
Currently, the DateRangePicker is missing the feature to sift through years quickly.
Adding year pagination, helps users to skip through years, not only months as it's currently the case.
What does the proposed API look like?
export interface DateRangePickerProps
  extends Omit<React.HTMLAttributes<HTMLDivElement>, "value" | "defaultValue"> {
  value?: DateRangePickerValue;
  defaultValue?: DateRangePickerValue;
  onValueChange?: (value: DateRangePickerValue) => void;
  enableSelect?: boolean;
  minDate?: Date;
  maxDate?: Date;
  placeholder?: string;
  selectPlaceholder?: string;
  disabled?: boolean;
  color?: Color;
  locale?: Locale;
  enableClear?: boolean;
+ enableYearPagination?: boolean
  children?: React.ReactElement[] | React.ReactElement;
}

I can take this one 🤚

This would be great

Hey @jorgeramirezamora, I wanted to just check, if you are still working on this issue?


Support document type: Industry connection report

Template: IC_Activity_White_Paper_Template.docx
Style manual: IEEE-SA-Non_Standard_Projects_Style_Manual.pdf

Differs from general White Paper only in front page colour scheme and boilerplate.

We will identify ICAP documents as :doctype: whitepaper, :docsubtype: icap

I've conflated this document with ICAP.

ICAP was :doctype: whitepaper, :docsubtype: icap. Industry connection reports shall be :doctype: whitepaper, :docsubtype: industry-connection-report

This is identical to the generic white paper template, except for the colour scheme of the cover, and the fact that the final instance of the workgroup name in the boilerplate is not IEEE SA Industry Connections activity, but ICCom. I'm treating the latter as a needless inconsistency.


Crash and JEI bug

Minecraft Version - 1.20.1
Forge Version - 47.2.19
Mod Version - Forge v2-0.0
I was playing in my personal modpack and the game crashed when i broke a chest with items inside.
crash-2024-01-12_02.12.25-server.txt
Also, when i have the mod installed it messes up with JEI and it doesn't show normal crafting recipes when i press U, but for some reason it does show create deployer recipes.

I had a similar JEI issue but on fabric (mod version v2-0.0_20.1), try downgrading to a previous version for now.

JEI is fixed. Also it looked like the game crashed due to the mod trying to add items to a backpack that wasn't equipped, That's also fixed in v2-0.1


Copy to clipboard not working when accessed through IP

EdgeDB Server: 2.2+dba8da8, 2.1+c600476
Browser: Chrome 105.0.5195.102, Firefox 104.0.2

Start an EdgeDB instance (listen on <IP_ADDRESS>, use Docker for simplicity):
docker run --rm -p 5656:5656 -e EDGEDB_SERVER_SECURITY=insecure_dev_mode -e EDGEDB_SERVER_PASSWORD=123456 -e EDGEDB_SERVER_ADMIN_UI=enabled edgedb/edgedb:2.2

Access the UI through non-localhost IP, e.g. http://<IP_ADDRESS>/ui

The "Copy" and "Copy as JSON" button in REPL doesn't work, no error in console.

Looks like a browser security issue, so it may also affect other functions.
Initially reported by @xyplayman in https://gitee.com/edgedb/devrel/issues/I5R6WD

https://discord.com/channels/841451783728529451/1157617069920096287


Use REPO_URL variable in justfile

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

Project coverage is 87.54%. Comparing base (858a138) to head (e89076e).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #157      +/-   ##
==========================================
- Coverage   87.88%   87.54%   -0.35%
==========================================
  Files          11       11
  Lines         586      586
==========================================
- Hits          515      513       -2
- Misses         71       73       +2

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


Array as props in React Component is rendered as a string

When I have this in my md
<MyCustomComponent ids={['test', 'with', 'an', 'array']} />

I get the ids prop as "['test', 'with', 'an', 'array']". So a string instead of an array.
Am I missing something?

From the README:

markdown-to-jsx also handles JSX interpolation syntax, but in a minimal
way to not introduce a potential attack vector. Interpolations are sent to
the component as their raw string, which the consumer can then eval() or
process as desired to their security needs.

On Fri, Nov 1, 2019 at 11:30 AM Christian Ranebäck<EMAIL_ADDRESS>wrote:

When I have this in my md
<MyCustomComponent ids={['test', 'with', 'an', 'array']} />
I get the ids prop as "['test', 'with', 'an', 'array']". So a string
instead of an array.
Am I missing something?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/probablyup/markdown-to-jsx/issues/275?email_source=notifications&email_token=AAELFVWWEIDWNF4VKRPGPVLQRRDPRA5CNFSM4JH4JTC2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWEKXFA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAELFVRQKGSVEZJKKVZUR5TQRRDPRANCNFSM4JH4JTCQ
.

Ah! Thats good! Thank you!


[Event Request] Codeunit 8800 "Custom Layout Reporting" - OnBeforeSaveAsReport

Describe the request
In Codeunit 8800, please include the OnBeforeSaveAsReport event within the SaveAsReport procedure.
Actual Code:
local procedure SaveAsReport(var DataRecRef: RecordRef; ReportID: Integer; RepFormat: ReportFormat)
var
File: File;
FileStream: OutStream;
FileName: Text;
Extension: Text;
TempFilePath: Text;
ReportSaved: Boolean;
BasePath: Text;
begin
// Handle both 'save file' types of reports together - PDF and Excel
case RepFormat of
REPORTFORMAT::Excel:
Extension := '.xlsx';
REPORTFORMAT::Pdf:
Extension := '.pdf';
REPORTFORMAT::Word:
Extension := '.docx';
REPORTFORMAT::Xml:
Extension := '.xml';
else
Error(OutputNotSupportedErr);
end;
// If we're not on the web client, use the path that was selected for saving
// In the web client, the path isn't used since we zip up the files and send them to the client
if not IsWebClient() then
BasePath := Path;
FileName := GenerateFileNameForReport(ReportID, Extension, BasePath, DataRecRef);
TempFilePath := FileManagement.ServerTempFileName(Extension);
File.Create(TempFilePath);
File.CreateOutStream(FileStream);
ReportSaved := BoundCallReportSaveAs(ReportID, GetRequestParametersText(ReportID), RepFormat, FileStream, DataRecRef);
OnSaveAsReportOnBeforeFileClose(ReportSaved, DataRecRef, ReportID, RepFormat, FileStream);
File.Close();
if ReportSaved and not RemoveEmptyFile(TempFilePath) and FileManagement.ServerFileExists(TempFilePath) and not SupressOutput then
if IsWebClient() or IsBackground() then
AddFileToClientZip(TempFilePath, FileName)
else begin
FileManagement.DownloadHandler(TempFilePath, '', '', '', FileName);
TempEraseFileNameValueBuffer.AddNewEntry(Format(TempFilePath, 250), '');
AnyOutputExists := true;
end;
end;
Required Code with a new event request:
local procedure SaveAsReport(var DataRecRef: RecordRef; ReportID: Integer; RepFormat: ReportFormat)
var
File: File;
FileStream: OutStream;
FileName: Text;
Extension: Text;
TempFilePath: Text;
ReportSaved: Boolean;
BasePath: Text;
IsHandled: Boolean;
begin
IsHandled := false;
// Handle both 'save file' types of reports together - PDF and Excel
case RepFormat of
REPORTFORMAT::Excel:
Extension := '.xlsx';
REPORTFORMAT::Pdf:
Extension := '.pdf';
REPORTFORMAT::Word:
Extension := '.docx';
REPORTFORMAT::Xml:
Extension := '.xml';
else
Error(OutputNotSupportedErr);
end;
// If we're not on the web client, use the path that was selected for saving
// In the web client, the path isn't used since we zip up the files and send them to the client
if not IsWebClient() then
BasePath := Path;
FileName := GenerateFileNameForReport(ReportID, Extension, BasePath, DataRecRef);
TempFilePath := FileManagement.ServerTempFileName(Extension);
File.Create(TempFilePath);
File.CreateOutStream(FileStream);
OnBeforeSaveAsReport(ReportID, IsHandled);
if not IsHandled then
ReportSaved := BoundCallReportSaveAs(ReportID, GetRequestParametersText(ReportID), RepFormat, FileStream, DataRecRef);
OnSaveAsReportOnBeforeFileClose(ReportSaved, DataRecRef, ReportID, RepFormat, FileStream);
File.Close();
if ReportSaved and not RemoveEmptyFile(TempFilePath) and FileManagement.ServerFileExists(TempFilePath) and not SupressOutput then
if IsWebClient() or IsBackground() then
AddFileToClientZip(TempFilePath, FileName)
else begin
FileManagement.DownloadHandler(TempFilePath, '', '', '', FileName);
TempEraseFileNameValueBuffer.AddNewEntry(Format(TempFilePath, 250), '');
AnyOutputExists := true;
end;
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeSaveAsReport(ReportID: Integer; var IsHandled: Boolean)
begin
end;
Additional context
This new event is necessary to enable subscription for implementing custom code and to provide the option to bypass the base code when needed.
Internal work item: AB#559347

Hi Team,
Do we have any update on it?


Feat: Improve Sign up/ sign in sections, add sign with google

Describe the feature
I wish to make the UI better
add google sign in options
Add ScreenShots

]
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Please add label of level and gssoc


New error message when opening unsupported formats

Report bug window is not useful for the users when they open files with unsupported formats, so I wrote another type of dialog window. Changes made based on info from tickets #1856821 and duplicate #1432606.

Looks good, thank you!


Update mice.py

Correction to comment (ppm->pmm for probabilistic moment matching)

Thanks @brettbj


feat: refactor queue module

Closes goravel/goravel#153
Closes goravel/goravel#278
📑 Description

This is a draft, need more discussion.
I tried to reconstruct the queue module with reference to Laravel's implementation. There are some issues that need to be discussed and determined.

✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] All the tests have passed

ℹ Additional Information

cc @hwbrzzl

@hwbrzzl Please help me check if there are any problems with the implementation idea. If there are no problems, I will continue to complete other driver development.

Thanks for this, was trying to implement AWS SQS into a potential replacement product with goravel. And found that adding my own driver wasn't an option. Anyway keep it up! 💪

This PR is basically completed, please let me know if there are any areas that need improvement.
Known issues:

Database driver lacks test cases.
Features related to task timeout have not been implemented yet.

cc @hwbrzzl

@devhaozi Great job man, do we cover all current features?

@devhaozi Great job man, do we cover all current features?

Yes

@devhaozi Great job man, do we cover all current features?

Yes

Laravel support this https://learnku.com/docs/laravel/10.x/queues/14873#8dd0bc and https://learnku.com/docs/laravel/10.x/queues/14873#6a8bef.
Currently, I have reserved relevant interfaces and methods, but they have not been fully implemented yet.

Got it, will take a look.

@hwbrzzl If redis BLPop timeout setting to 60 seconds, this test case will fail.

@hwbrzzl If redis BLPop timeout setting to 60 seconds, this test case will fail.

Why?

@hwbrzzl If redis BLPop timeout setting to 60 seconds, this test case will fail.

Why?

The logic here is similar to Laravel. First, need to merge the tasks in the delay queue into the main queue.
Next, BLPop will block until there is a task in the main queue or the timeout is reached.
Therefore, if it is set to 60s, it will always be blocked, causing the test to fail.

The timeout parameter means an error will be thrown if something spends more time, right? Why will block?

The timeout parameter means an error will be thrown if something spends more time, right? Why will block?

No, no, no, this is a blocking method, it will block until there is a task in the queue list or the timeout is reached.
This is not specific to task running time, in fact, no control over task running time is currently implemented.

@devhaozi I see, thanks!

Hi @devhaozi Do you still work on this, please? The PR is a bit complex and spent a lot of time, I think we only need to implement the Redis driver for now, the DB driver is optional.

Hi @devhaozi Do you still work on this, please? The PR is a bit complex and spent a lot of time, I think we only need to implement the Redis driver for now, the DB driver is optional.

I'm busy with other work, you can take over this PR if you have time.

Hi @devhaozi Do you still work on this, please? The PR is a bit complex and spent a lot of time, I think we only need to implement the Redis driver for now, the DB driver is optional.

I'm busy with other work, you can take over this PR if you have time.

I think only need to implement sync and async here, and consider splitting database and redis into two packages.

After remove machinery, the binary size has been reduced by about 50MB.

After the discussion in the group, I think a goravel/machinery is necessary, we need to implement the driver interface in this PR through machinery, otherwise, users will hard to upgrade the framework in the future. Another way is createing a migrate command: machinery -> db or redis, but we cannot guarantee that it will be compatible with all situations.

After the discussion in the group, I think a goravel/machinery is necessary, we need to implement the driver interface in this PR through machinery, otherwise, users will hard to upgrade the framework in the future. Another way is createing a migrate command: machinery -> db or redis, but we cannot guarantee that it will be compatible with all situations.

I prefer the second way.

I prefer the second way.

If so, we need to check the machinery code for how to generate a structure from the queue, then transform the structure to ours.

Currently, machinery has resumed maintenance, so this PR may no longer be needed.

machinery still doesn't support the DB driver, right?

machinery still doesn't support the DB driver, right?

Yes

If so, I think it's better to implement the DB driver ourselves.


Click on Copilot Chat symbol freezes VS Code

Type: Bug
Hi,
for a few days now, I am not able to even open GitHub Copilot Chat. When I click on the Chat symbol VS Code freezes for a bit and then a "window is not responding" message pops up. I also get the following error in the output.
2024-04-07 22:24:13.847 [error] Extension 'github.copilot-chat' appears in product.json but enables LESS API proposals than the extension wants.
package.json (LOSES): extensionsAny, newSymbolNamesProvider, interactive, chatProvider, codeActionAI, findTextInFiles, findFiles2, textSearchProvider, terminalDataWriteEvent, terminalExecuteCommandEvent, terminalSelection, terminalQuickFixProvider, mappedEditsProvider, aiRelatedInformation, chatParticipant, chatParticipantAdditions, defaultChatParticipant, chatVariableResolver, contribSourceControlInputBoxMenu, authLearnMore, testObserver, aiTextSearchProvider
product.json (WINS): handleIssueUri, interactive, terminalDataWriteEvent, terminalExecuteCommandEvent, terminalSelection, terminalQuickFixProvider, chatParticipant, chatParticipantAdditions, defaultChatParticipant, chatVariableResolver, chatProvider, mappedEditsProvider, aiRelatedInformation, codeActionAI, findTextInFiles, textSearchProvider, contribSourceControlInputBoxMenu, newSymbolNamesProvider, findFiles2, extensionsAny, authLearnMore, testObserver
2024-04-07 22:24:14.587 [info] Started local extension host with pid 29376.
2024-04-07 22:24:15.891 [error] [Extension Host] [chat] Registration of interactive providers failed: Error: Extension 'GitHub.copilot-chat' CANNOT use API proposal: aiTextSearchProvider.
Its package.json#enabledApiProposals-property declares: handleIssueUri, interactive, terminalDataWriteEvent, terminalExecuteCommandEvent, terminalSelection, terminalQuickFixProvider, chatParticipant, chatParticipantAdditions, defaultChatParticipant, chatVariableResolver, chatProvider, mappedEditsProvider, aiRelatedInformation, codeActionAI, findTextInFiles, textSearchProvider, contribSourceControlInputBoxMenu, newSymbolNamesProvider, findFiles2, extensionsAny, authLearnMore, testObserver but NOT aiTextSearchProvider.
The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api GitHub.copilot-chat
2024-04-07 22:24:15.900 [error] No registered selector for ID: copilot-chat.fixWithCopilot
2024-04-07 22:24:15.900 [error] No registered selector for ID: copilot-chat.generateCommitMessage
I tried disabling and uninstalling all extensions, I even uninstalled and reinstalled VS code. I also tried logging in and out of my account and clearing the cache. Nothing is working. How can I fix this?
Extension version: 0.14.0
VS Code version: Code 1.88.0 (5c3e652f63e798a5ac2f31ffd0d863669328dc4c, 2024-04-03T13:26:18.741Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i7-13700H (20 x 2918)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
63.68GB (48.24GB free)

Process Argv
--crash-reporter-id ab17faab-d41b-484c-9aa4-8a56bdd4df25

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:31000450
pythontbext0:30879054
accentitlementst:30995554
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
d34g3935:30971562
fegfb526:30981948
bg6jg535:30979843
ccp2r3:30993541
dsvsc020:30976470
pythonait:31006305
gee8j676:31009558
dsvsc021:30996838
g1icg217:30999571

This happened to me today too. Only for one project, the one that I use the most.
Maybe the history is just too large. Is there any way to clean it?

I'm having the same problem, how was this fixed?


Incorrect future approximation?

Today is January 19 2021, when I do format('2023-01-19T14:23:07.418Z', 'en_US'), which is exactly 2 years (minus some minutes), the rendered result is "1 year" instead of "2 years".
Most likely, this is because the current time (hours/minutes) is after 14:23, so it's actually 1 year, 364 days, 20 hours. I think this should be "rounded" to 2 years rather than 1 year, but perhaps this is a judgement call.
Super curious to hear your opinion!

Have the same issue in hours, which is preventing me from using this awesome lib.
Here is the issue: If the time is 2:01 and there is an "event" at 4:00 it will say: in 1 hour.
Assuming because it's actually 1h and 59min until the "event". Since minutes are not shown, the estimation is misleading.
How do I show the minutes?


Version support policy?

This module currently tests on v0.12, 4, and 6.
v0.12 was EOL'ed 2016-10-31.  v4 will be EOL'ed at the end of this month.  Download stats as of this week (Source):

v0.12 is pre-ES2015, which occasionally causes issues. see #270.
I'm tempted to suggest that we only support "maintained" node versions (soon to be just 6 and 8), but I'm pretty sure that's too aggressive.  Instead, I'll propose that we support "maintained" versions and one legacy version prior to that.  I.e. v4, 6, and 8.
@defunctzombie @vvo thoughts?

Dropped v0.12 support in 0705cd5bae3ab07415294e5544901ffcf0ad4e23 due to https://github.com/typicode/husky/issues/308