EditBox position wrong in web build

Using various code from our the web, I've tried to place an EditBox.
The sprite appears where I have positioned it, but the text input itself is always located at the bottom of the screen (sometimes off it until I click near by, which moves it onto the screen).

Occurs on both 3.1 and 3.2.
Occurs when adding to cc.Scene or cc.Layer.
Console claims the image I'm using can't be found, but it's clearly loaded and visible.
cocos2d: cc.SpriteFrameCahce: Frame res/ui/edit_box.png not found

Very frustrating.

Hi @adamlwgriffiths
How do you use cc.EditBox ?
I try to create a new cc.EditBox in 3.2, It is normal.
new cc.EditBox(cc.size(130, 40), new cc.Scale9Sprite("res/extensions/green_edit.png"));
I want to reproduce the problem that you encounter.
But I don't know how to reproduce this problems.
Thanks for your feedback. ^.^
VisualSJ

Gist is here
https://gist.github.com/adamlwgriffiths/517aaf5ba5abcb4b6f16
This is a single scene that I add to the app at startup.
As you can see I've tried a few different things, but all exhibit the same issue.
Cheers,
Adam

Sorry, @adamlwgriffiths ,
We can't open the URL: https://gist.github.com/adamlwgriffiths/517aaf5ba5abcb4b6f16
Could you please give us some codes to reproduce the issue?
Thanks
David.

I'm not doing anything amazing, just placing an edit box.
The gist is public, should be openable.
Code inline below.
var IOS_NamePlayer = cc.Scene.extend({
    layer: null,
    next_scene: null,
    text_field: null,
    placeholder: "Input text here",
    ctor: function() {
        this._super();

        this.layer = cc.Layer.create();
        this.addChild(this.layer);

        var winsize = cc.director.getWinSize();

    var ebox = cc.EditBox.create(cc.size(170, 50), cc.Scale9Sprite.create(res.edit_box), cc.Scale9Sprite.create(res.edit_box));
    ebox.setPlaceHolder("Password");
    ebox.setInputFlag(cc.EDITBOX_INPUT_FLAG_PASSWORD);
    ebox.setPosition(cc.p(winsize.width/2,winsize.height/2));
    ebox.setFontColor({"r": 50, "g": 50, "b": 50});
    ebox.setDelegate(this);
    this.layer.addChild(ebox,1);

        /*
        this.text_field = cc.EditBox.create(cc.size(200, 25), cc.Scale9Sprite.create(res.edit_box), cc.Scale9Sprite.create(res.edit_box), cc.Scale9Sprite.create(res.edit_box));
        //this.text_field.setPlaceholderFontColor(cc.color(255, 0, 0));
        this.text_field.setPlaceHolder("Player name");
        //this.text_field.x = winsize.width / 2;
        //this.text_field.y = winsize.height / 2;
        this.text_field.setPosition(winsize.width / 2, winsize.height / 2);
        this.text_field.setFontColor({"r": 255, "g": 255, "b": 255});
        this.text_field.setDelegate(this);
        //this.text_field.setFontColor(cc.color(255, 0, 0));
        //this.text_field.setMaxLength(20);
        //this.text_field.setAnchorPoint(cc.p(0,0));
        //this.text_field.setFontSize(30);
        this.text_field.init();
        this.layer.addChild(this.text_field);
        */

        /*
        this.text_field = new ccui.TextField();
        this.text_field.setTouchEnabled(true);
        //this.text_field.fontName = "Marker Felt";
        this.text_field.placeHolder = this.placeholder;
        this.text_field.fontSize = 30;

        this.text_field.setMaxLengthEnabled(true);
        this.text_field.setMaxLength(20);

        this.text_field.x = winsize.width / 2;
        this.text_field.y = winsize.height / 2;
        this.text_field.addEventListener(this.text_field_event, this);
        this.layer.addChild(this.text_field);
        */
    },
    editBoxEditingDidBegin: function(editBox) {
        cc.log("DidBegin !");
    },
    editBoxEditingDidEnd: function(editBox) {
        cc.log("DidEnd !");
    },
    editBoxTextChanged: function(editBox, text) {
        cc.log("TextChanged, text: " + text);
    },
    editBoxReturn: function(editBox) {
        cc.log("was returned !");
        //this.chatLabel.setString(this._getEditBoxName(editBox));
    },
    text_field_event: function(sender, type) {
        switch (type) {
            case ccui.TextField.EVENT_ATTACH_WITH_IME: {
                cc.log("Activate");
                //this.text_field.placeHolder = "";
            } break;

            case ccui.TextField.EVENT_DETACH_WITH_IME: {
                cc.log("Deactivate");
                //this.text_field.placeHolder = this.placeholder;
            } break;

            case ccui.TextField.EVENT_INSERT_TEXT: {
                cc.log("Insert character");
                cc.log(this.text_field.string);
            } break;

            case ccui.TextField.EVENT_DELETE_BACKWARD: {
                cc.log("Delect character");
                cc.log(this.text_field.string);
            } break;
        }
    }
});
IOS_NamePlayer.create = function() {
    return new IOS_NamePlayer();
};

Hi guy,
I have tested with your codes, but cc.Edit works correctly.
ScreenShot:

In "GLViewImpl::create" (in CCGLViewImpl-desktop.cpp) have you set the frameZoomFactor (in initWithRect()) to less that 1.0f?
If so, convertDesignCoordToScreenCoord() (in UIEditBoxImpl) will fail to scale the text properly. As it looks for a retina flag to double scale. Not the screen size.
You could perhaps fix it in there yourself.

Thanks for trying @DaveSapien, but I gave up on this library a long time ago.

AH, sorry did read the year properly. lol


Create database with multiple tables

This is a refactoring of the messy db module. I've split up a tangle of interwoven helper functions inside of one module into a slightly less tangled collection of modules.
Now we have:

Database, which wraps a sqlite3 connection and contains all the helper methods for initializing and filling a database.
DatabaseTable, which contains all the previously scattered metadata related to tables we would like to construct (name, function to lazily construct row tuples, indices, primary key, &c).
database_types is a module devoted solely to converting from numerical & string types to names of sqlite3 column types

I've added more unit tests to cover the obvious code paths through this rat's nest. In the near term we should add coverage reporting to tell more obviously what additional tests are needed. In the longer run, I'm open to switching to SqlAlchemy, since that seems to be what I'm slowly reimplementing here.

 Can you cache the table_names result, or just have a separate SQL query for has_tables?

datacache/database.py, line 75 [r3] (raw file):
Why is METADATA_COLUMN_NAME not called METADATA_TABLE_NAME?

datacache/database.py, line 88 [r3] (raw file):
Seems confusing to me that _set_version, which I'd imagine alters the version in the METADATA table, actually creates the table too?

datacache/database.py, line 106 [r3] (raw file):
It might be helpful to clarify, in the comments, which methods commit and which don't. (E.g. "This does not commit.")

datacache/database.py, line 126 [r3] (raw file):
This part does feel fairly error-prone relatively to using sqlalchemy.

datacache/database.py, line 143 [r3] (raw file):
Again, this double-querying makes me nervous, and also feels unnecessary when _fill_table is used right after _create_table.

datacache/database.py, line 180 [r3] (raw file):
I think _create_index and _create_indices could use some docstrings to describe what an index_column_set is and what the indices parameter is an iterable of.

datacache/database_helpers.py, line 42 [r3] (raw file):
Two queries right here? Feels silly.

datacache/database_helpers.py, line 43 [r3] (raw file):
So what happens if we create this DB connection and don't return it? When does it get closed?

datacache/database_helpers.py, line 76 [r3] (raw file):
Why not juse use require_int here?

datacache/database_helpers.py, line 84 [r3] (raw file):
I've been consciously avoiding nitpicking comments, though this one actually confused me: "assuming it's complete" had me thinking that you were doing a completeness check.

datacache/database_helpers.py, line 96 [r3] (raw file):
Querying for table_names twice? In general, SQLAlchemy could probably help with ensuring that the metadata is cached instead of re-queried.

datacache/database_helpers.py, line 106 [r3] (raw file):
This except with no Exception class makes me nervous. Are there specific exceptions you're expecting?

datacache/database_helpers.py, line 112 [r3] (raw file):
Thinking out loud: I guess you don't need to wrap remove() in a try since we're already raising anyway.

datacache/database_helpers.py, line 137 [r3] (raw file):
How does this relate to pyensembl's usage of pyfaidx?

datacache/database_helpers.py, line 152 [r3] (raw file):
I didn't have context for this until I saw its usage in fetch_csv_db. I also found build_path vs. _construct_db_filename confusing. Can you add some context to the docstring?

datacache/database_helpers.py, line 168 [r3] (raw file):
Why does version default to 1, vs. if not version: return 0 above? Should version even have a default?

datacache/database_helpers.py, line 236 [r3] (raw file):
When is this used?

datacache/database_table.py, line 55 [r3] (raw file):
Are there other characters that a DataFrame supports but sqlite wouldn't?

datacache/database_types.py, line 22 [r3] (raw file):
Why not just map from python types to DB types? Wouldn't that make for a shorter/simpler dictionary?

datacache/database_types.py, line 51 [r3] (raw file):
I was fairly confused by some of this code, because I couldn't figure out if you were trying to convert from NumPy types to Python types, or from Python types to NumPy types, or...
Anyway, it looks like you end up with NumPy type names like 'int16' as well as python type names like 'int'?

datacache/database_types.py, line 56 [r3] (raw file):
It wasn't obvious to me that np.typeDict was a map from np type names to np types. Calling everything a python_type made that even more unclear to me.

datacache/database_types.py, line 71 [r3] (raw file):
Yikes. I hope there's a cleaner way to do some of this, though no ideas at the moment.

requirements.txt, line 7 [r3] (raw file):
Replace nose2/version with nose/version?
Also, >= vs. == is a question I've had on my mind for requirements. Curious to get your thoughts.

setup.py, line 29 [r3] (raw file):
It's a bummer that all these changes have to be ported to lots of different repos. I wonder if it's worth centralizing these helpers into a shared repo.

setup.py, line 41 [r3] (raw file):
See what I did with pyensembl, based on a StackOverflow answer that you actually linked to :)
https://github.com/hammerlab/pyensembl/blob/travis/setup.py
requires_list = []
try:
    from pip.req import parse_requirements
    parsed_reqs = parse_requirements('requirements.txt')
    requires_list = [str(req.req) for req in parsed_reqs]
except ImportError:
    print("Please install pip before proceeding")

Perhaps this is another vote for centralizing some of this boilerplate.

test/test_database_objects.py, line 49 [r3] (raw file):
Unnecessary print?

Comments from the review on Reviewable.io

datacache/database.py, line 53 [r3] (raw file):
Let me know if you think of a clearer way to do it.

datacache/database.py, line 67 [r3] (raw file):
What if you cache the table names and then someone modifies the database? This code is nice in that works regardless of state changes. It's also pretty clear what's going on. Also x2: I'm not sold on the need to speed it up: it's O(n) in the number of database tables...but so is the construction of the database (with much more significant constant factors).

datacache/database.py, line 75 [r3] (raw file):
Great question, I have no idea.  (fixed)

datacache/database.py, line 88 [r3] (raw file):
I renamed it to _finalize_database. How does that sound?

datacache/database.py, line 106 [r3] (raw file):
I added a comment to the class docstring since nothing commits other than close() and create()

datacache/database.py, line 126 [r3] (raw file):
Strangely, I think it's been the least problematic part of datacache. But I agree that it looks like it's waiting for a disaster.

datacache/database.py, line 143 [r3] (raw file):
I'm going to challenge you to benchmark this one, I don't think that the number of small database queries at creation time matters much. And even if the error checking is currently redundant, who knows how we might accidentally use this method in the future?

datacache/database.py, line 180 [r3] (raw file):
Added some docstrings and got rid of the index_number param.

datacache/database_helpers.py, line 42 [r3] (raw file):
In [5]: timeit db.version()
100000 loops, best of 3: 13.6 µs per loop

datacache/database_helpers.py, line 43 [r3] (raw file):
It's up to the caller to close it if they want. But leaving open sqlite3 connections seems to have little consequence.

datacache/database_helpers.py, line 76 [r3] (raw file):
Good call, this is before typechecks

datacache/database_helpers.py, line 84 [r3] (raw file):
I phrased it a little clearer

datacache/database_helpers.py, line 96 [r3] (raw file):
This is only happening at database creation time when the runtime is totally dominated by inserting hundreds of millions of tuples per table into the database. I agree that if we were releasing this as a standalone database wrapper then all these table_names() queries might need to be faster, but for now I think they add up about 10ms of clock time.

datacache/database_helpers.py, line 106 [r3] (raw file):
Nope, if anything at all goes wrong we delete the database and then propagate the exception forward.

datacache/database_helpers.py, line 112 [r3] (raw file):
The file got created outside the try block, so it's guaranteed to exist. I guess it's possible that some totally external process deleted it from under our nose, but I think that indicates much more significant problems on a system.
This comment did make me rethink the correctness of always deleting the file: what if the user is creating the file external to this call and doesn't expect it to get deleted upon error? I changed the logic to only delete files which didn't exist before the call.

datacache/database_helpers.py, line 137 [r3] (raw file):
I believe this creates an in-memory index but doesn't use or create an on-disk .fai file, whereas pyfaidx will reuse the index it's created.

datacache/database_helpers.py, line 152 [r3] (raw file):
Gave this a better name and longer docstring

datacache/database_helpers.py, line 168 [r3] (raw file):
Lots of uses don't assume you're ever going to change the schema (e.g. creating a database from some fixed CSV layout or fasta file), so it's tedious to have to specify a version then. It's really around as an option for when you are crafting the schema yourself and might need to invalidate an old choice.
Version defaults to 1 out of spite toward Edsgar Dijkstra.

datacache/database_helpers.py, line 236 [r3] (raw file):
I was using it when I started writing epitopes (which got renamed to pepdata) but didn't really need it. Do you think it's fine to just delete this function? A theoretical user can just fetch the csv, parse it as a DataFrame and then use the DataFrame database helpers to make a db.

datacache/database_table.py, line 55 [r3] (raw file):
Good point, there are actually lots if we write the queries with naked table and column names. Made an issue for this: https://github.com/hammerlab/datacache/issues/17

datacache/database_types.py, line 22 [r3] (raw file):
How would you get to to int from dtype('int8')?

datacache/database_types.py, line 51 [r3] (raw file):
Yep, since you might be converting the columns of a dataframe, a NumPy array, or regular old Python objects (with ordinary types). I didn't create this crazy system of runtime type representations!

datacache/database_types.py, line 56 [r3] (raw file):
I added a little more to the comment, but overall this code is hard to make clear since it's trying to handle a bunch of confusing possibilities.

requirements.txt, line 7 [r3] (raw file):
I think >= is preferable until we encounter a library update that breaks compatibility. Is it possible to specify version ranges?

setup.py, line 29 [r3] (raw file):
Yeah, it kills me a little to copy this stuff around.

setup.py, line 41 [r3] (raw file):
I saw one of the pip devs asking someone not to do this since they treat this as an internal functions whose API changes. See: https://github.com/machinalis/iepy/issues/63

test/test_database_objects.py, line 49 [r3] (raw file):
Removed

Comments from the review on Reviewable.io

datacache/database.py, line 70 [r3] (raw file):
I didn't realize I had commented on the multi-querying so many times! I really hammered that issue home. Anyway, I wasn't really thinking about speed: the notion of unnecessary multi-querying just offended some part of my view of the world, and I felt like a caller of has_tables would be surprised to find out about 20 SQL calls (regardless of speed). And I just don't like surprises.
(Also, if we ever wanted these DB calls to be network roundtrips to some DB server...)
That said, I'm fine with leaving it as is for the time being.

datacache/database.py, line 91 [r3] (raw file):
My bad for not suggesting a name! I need to work on the proactive comments thing :)
That sounds good.

datacache/database_helpers.py, line 43 [r3] (raw file):
I was thinking more about the situation where a connection is created but None is returned, making it impossible for the caller to close it. And am also thinking about keeping the code safe for non-sqlite3 usage. Anyway, just thinking out loud.

datacache/database_helpers.py, line 236 [r3] (raw file):
Yeah, reading a CSV into a DataFrame sounds super simple and this feels unnecessary.

datacache/database_types.py, line 22 [r3] (raw file):
I thought there'd be a way, but certainly haven't found it yet :)

requirements.txt, line 7 [r3] (raw file):
Looks like ranges are possible: http://stackoverflow.com/questions/11472810/how-to-specify-version-ranges-in-install-requires-setuptools-distribute
I have no strong feelings on this at the moment. Just was curious to get your thoughts.

setup.py, line 41 [r3] (raw file):
Yikes. Good to know!

Comments from the review on Reviewable.io

Looks good to me!

Comments from the review on Reviewable.io

datacache/database_helpers.py, line 44 [r3] (raw file):
I think if we ever move beyond sqlite3 then we definitely should worry about this stuff more. I guess an explicit else branch with db.connection.close() would be fine, but I'll save that til we scale up :-)

datacache/database_helpers.py, line 240 [r3] (raw file):
Made an issue: https://github.com/hammerlab/datacache/issues/18

datacache/database_types.py, line 20 [r3] (raw file):
I looked for a while, though I'm positive it must exist somewhere.

requirements.txt, line 7 [r3] (raw file):
I think we should just leave >= for now and revisit this if/when we run into trouble. Otherwise, I'm not sure what upperbound to put on each package. If we just limit it to the current max version then we'll be forced to update this file every time any of our dependencies gets a new version out.


Using OAAC with Scala Play Framework

Are there any samples and guides to use this with Scala.
Also on integration with the popular play framework.
Any pointers on this will help.
Thanks

That's a good question, ankeshdave!
I'm not aware of any samples or guides for integrating OACC into Scala/Play projects, but please share if you find any.
We'll probably post a simple Java-based tutorial, soon, to make the basic OACC concepts easier to digest in context. Maybe that would give you a starting point to integrate?

Ankeshdave, we just published the SecureTodo sample application to illustrate how to integrate OACC into a (Java) application and address several real-world authorization scenarios.
The writeup is available on oaccframework.org and in the Github repository that contains the full source code.

Thanks I'll take a look at it for reference ☺


unable to run code on local macine

After cloning and installing all dependencies with npm i,  when I npm start there is an Error that says failed to compile

while doing yarn install got the following error
error /home/roger/Code/karl-todo/node_modules/node-sass: Command failed.
 System Linux 5.13.0-30-generic
gyp ERR! command "/usr/bin/node" "/home/roger/Code/karl-todo/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/roger/Code/karl-todo/node_modules/node-sass
gyp ERR! node -v v17.6.0

npm run build

<EMAIL_ADDRESS>build
react-scripts build

Creating an optimized production build...
Failed to compile.
./src/components/AddTask.js
Cannot find file '../firebase' in './src/components'.

node version needs to be compatible withe node-sass version

Make sure you have ./firebase.js under ./src/components. There is an example of it ./src/firebase.js.example and the one you will be using can be obtained from the Firebase website (Check out the video tutorial shared by the author on Youtube)

Ok thanks
On Sat, Mar 5, 2022, 8:01 AM jasoninnn @.***> wrote:

Make sure you have ./firebase.js under ./src/components. There is an
example of it ./src/firebase.js.example and the one you will be using can
be obtained from the Firebase website (Check out the video tutorial shared
by the author on Youtube)
—
Reply to this email directly, view it on GitHub
https://github.com/karlhadwen/todoist/issues/49#issuecomment-1059709423,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASSHEJFMOYBBQJ5DYDU5UYDU6MBDBANCNFSM5OTY2IOQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

You can try first install the yarn by npm install --global yarn
Then try to run yarn start instead of npm start.


Sniffer Filter requires Servlet 2.5+

We should support older servlet specifications as well

Fixed in 2.3.2 https://github.com/bedrin/jdbc-sniffer/pull/68


Association of LB with VMs

Association of LB with VMs is not specified in the terraform code.

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

ID: aef91226-6c89-f8f1-3400-28d633cd1791
Version Independent ID: 19ea3aee-2e71-0764-110c-fadf241c377f
Content: Quickstart: Create an Azure Linux VM cluster with Terraform
Content Source: articles/terraform/create-vm-cluster-with-infrastructure.md
Service: terraform
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

Unfortunately, we have not been able to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with any additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Fixes #12515 - Update latest hyperlink for Juju controllers ha

Fixes - #12515

/assign @Rajakavitha1 Kindly review!

@Rajakavitha1 Absolutely agree with your suggestion. The API docs keep changing with versions.
I updated and rebased my commit.

/lgtm

/approve


GitHub Import Issue: Cannot de-structure property 'appFiles' of 'project' as it is null.

The following error is received while attempting to import a GitHub Repository:
Cannot destructure property 'appFiles' of 'project' as it is null.
Collecting similar cases here to determine if there is a shared root cause.

So is there any fix for this? any progress?

I copied and pasted the entire repository into a new folder, excluding the ./node_modules, ./git, and .gitignore directories. Then, I pushed this repository to a public repository without installing node_modules.
As a result, my repository looks like this:
.bolt/
src/
.eslintignore
eslint.config.js
index.html
package-lock.json
package.json
postcss.config.js
tailwind.config.js
tsconfig.app.json
tsconfig.json
tsconfig.node.json
vite.config.ts

After that, I went to bolt.new/github.com/name/of_my_repo, and it was successfully imported. Since I didn't want the repository to remain public, I immediately made it private. And, it still works on bolt.new.

Can anyone share some insights on this? Having a similar issue. I have tried to look up in the source files about any logic of this but it appears that bolt.new website has its own implementation for importing GitHub projects and I can't understand where it goes wrong.

Hi guys, adding my comment here as i am also impacted by this issue

Any fixes guys?

Eric, the CEO of StackBlitz said on X that there's an update coming soon for git integration. So just know it is being worked on and should be resolved soon.


GPL-609 As a SSR (Rich C) I would like the positive Lighthouse report to include whether samples have been cherry picked so that we can check if requested samples have already been started.

User story
As a SSR (Rich C) I would like the positive crawler report to include whether samples have been cherry picked (included in a released Batch in Sequencescape), so that we can check if requested samples have already been started.
Who are the primary contacts for this story
Richard C
Acceptance criteria
To be considered successful the solution must allow:

Report should add a True/False or Date/NULL field for cherry picking (needs refining)

Plan for implementation:

use the events warehouse
two events which are relevant; cherrypick layout set and slf cherrypick (preferred)
The root sample id equates to the sample description
sample description is in the samples table in the mlwh to get the sanger sample id
the sanger sample id in subjects table called friendly name
subjects table is joined to events via roles

plan is to write a single SQL statement to pull the data from the events / ml warehouse with a method in lighthouse to add this data to the positives report.

select mlwh_sample.description as description
FROM mlwarehouse.sample as mlwh_sample
JOIN mlwh_events.subjects mlwh_events_subjects ON (mlwh_events_subjects.friendly_name = sanger_sample_id)
JOIN mlwh_events.roles mlwh_events_roles ON (mlwh_events_roles.subject_id = mlwh_events_subjects.id)
JOIN mlwh_events.events mlwh_events_events ON (mlwh_events_roles.event_id = mlwh_events_events.id)
JOIN mlwh_events.event_types mlwh_events_event_types ON (mlwh_events_events.event_type_id = mlwh_events_event_types.id)
WHERE mlwh_sample.description IN ('sample1,sample2')
AND mlwh_events_event_types.key = 'slf_cherrypicking'
GROUP BY mlwh_sample.description

[ ] mock database connection
[ ] getting cherrypicked samples with tests
[ ] getting all positive samples
[ ] getting location barcodes from labwhere
[ ] Join data from labwhere with positive samples
[ ] Join data from cherrypicking

Closing this as it's in the Done column


Provide a metric for total amount of ScaledJobs

Proposal
Provide a metric for total amount of ScaledJobs so that end-users can visualize it.
Use-Case
Improve our operational story
Anything else?
No response

Closed in https://github.com/kedacore/keda/pull/3719


Developing a airline website

This website will basically replicate a airline website where people will be able to select and add a flight of their choice to the cart.
This will be done using HTML, CSS, JavaScript

@microsoft-github-policy-service agree [company="{(default - no company specified}"]

@microsoft-github-policy-service agree company="default"


Setup livereload

Hi guys!
I thought it would be cool to have livereload set up, it's convenient to develop with livereload.
Don't you mind?

I registered a new task for server watcher which doesn't include jshint and test running to make it lighter and I believe more useful...

:+1:


Method track shows lines between keys

Godot version
4.2 dev3
System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; <IP_ADDRESS>3) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)
Issue description
If you have a Method Track with multiple calls to the same method, they are joined together and makes things unreadable:

The horizontal line shouldn't be used here. I think it might be a regression.
Steps to reproduce

Add AnimationPlayer
Add a Method Track (with Add Track button)
Add some key to the track
Add another key with the same method

Minimal reproduction project
N/A

I think I can see where the bug is.
When drawing keyframes, the editor will call draw_key_link, and it will decide whether to draw a line based on the comparison below. Unfortunately, for method track , track_get_key_value will return a dictionary with methods and args, "multiple calls to the same method" is same in this comparison.
Variant current = animation->track_get_key_value(get_track(), p_index);
Variant next = animation->track_get_key_value(get_track(), p_index + 1);
if (current != next) {
	return;
}

For a quick fix I guess I can add a if here and if it's a method track then return. Any suggestions ?


add undefined filtering to remove console errors due to null or empty…

… reference on showView
Not sure if this is the correct way to suppress undefined warnings, but it works.

Duplicate of #889, which is now merged.


Swift 3.0 supported?

Hello, does this awesome CZPicker support Swift 3.0?
Glenn

Yes, Since it's written in Objective-C, so swift 3 is supported.
On Sun, 9 Oct 2016 at 05:41, Glenn Posadas<EMAIL_ADDRESS>wrote:

Hello, does this awesome CZPicker support Swift 3.0?
Glenn
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/chenzeyu/CZPicker/issues/42, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABM43twZ891Ve_igXmUAxvub3cursV6Aks5qyA4BgaJpZM4KR1Z6
.

--
Zeyu
Sent from mobile


[Lists][Frontend] Add new list/Delete list Functions

Activate in side panel. There is an Add New List modal template under app/components/modal/addProjectList, and script under app/components/modal/modal.service.js

Added the ui and click behavior to load the new list window.  But I may need to review this process with Mike to determine the best way to accomplish this functionality


When entering physical stock count, if one commodity is skipped, all the commodities with zero values disappear and have to be re-entered

This gets very cumbersome to deal with when there is a long list of commodities to enter physical stock count for. Only commodities that have been skipped should have to be re-entered in this case.

Example if the order of commodity is A, B C, D and you enter values for A, B and in error skip C and enter values for D. When you notice the error and go back to enter values for C any zero values that have already been entered disappear. usually physical stock count is a long list of commodities and its most likely that some may be skipped in the process and have to be re-entered


apply the toolbar language to the placeholder label

Bug reported by @kkovrizhenko
Precondition:
User language is english. Page exists in german and english. Page is opened.
Steps to reproduce:

Switch to german language of the page
Switch to structure mode
Click add button

Actual result:
Add plugin to placeholder" list shown in language of the site not in user language

LGTM

:+1:


rs-enumerate-devices command on linux spits out "no devices detected. Is it plugged IN?"

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.

Required Info

Camera Model
{ D435i }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Linux built from petalinux 2021.1

Kernel Version (Linux Only)
5.10.0-xilinx-v2021.1

Platform
Kria KV260 FPGA board

SDK Version
{ latest version not sure which }

Language
{Cpp/python }

Segment
{Student project }

Issue Description
I was trying to interface the Intel realsense 435i Camera with Kria KV260 FPGA board. I built the Linux system with the help of petalinux version 2021.1 tool and included the UVC and other self-hosted package libraries for support. After the build i downloaded the lirealsense repository from Github following which i updated the udev rules and ran the cmake command in a separate build folder. After everything was built i exported the LD_Library_Path to access the compiled real sense libraries(export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib64/"). when i then ran the rs-enumerate-devices command i get a message in the screen that the device is not detected and asking for the prompt if the device is pluggedin. Any directions in solving the issue will be greatly helpful as i don't have much time to submit my project.

Hi @VishnuRamTK  There is a guide at the link below to installing the Realsense SDK on Kria KV260 FPGA board.and Petalinux version 2021.1.  The web page has some formatting problems, so scroll down through the empty areas of the page to see the text of the guide.
https://www.hackster.io/jack-bonnell2/realsense-support-for-kria-kv260-petalinux-2021-1-f5dbe3
For FPGA devices running Petalinux though, I would recommend building the SDK from source code with CMake using the RSUSB backend installation method, or its predecessor LibUVC backend.  These two methods bypass the Linux kernel and so are not dependent on Linux versions or kernel versions and do not require kernel patching.
Installtion with the LibUVC backend method on a Petalinux device is discussed at https://github.com/IntelRealSense/librealsense/issues/3040
Instructions for the more modern RSUSB backend approach can be found at https://github.com/IntelRealSense/librealsense/issues/9931#issuecomment-964289692

Thank you very much for your quick reply @MartyG-RealSense. I am sorry that i didnt mention the references on how i build my linux system from petalinux. I have followed the exact same tutorial from Jack Bonnell as above with minor variations after facing series of errors. This time i tried installing the Librealsense SDK 2.51.1 from source.tar.gz file as directed in your comment #9931(comment). The cmake ../ -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true command could succesfully extract build files in to the build directory but once i run sudo make uninstall && make clean && make -j8 && sudo make install i get stuck up with the  following process -
[ 17%] Building CXX object CMakeFiles/realsense2.dir/src/ds5/advanced_mode/rs_advanced_mode.cpp.o
Tested: int send(SOCKET, char *, unsigned int, int)
-- Performing Test curl_cv_func_send_test
-- Performing Test curl_cv_func_send_test - Failed
I am yet to try with LibUVC. Will try it in meantime.

Using a -j parameter to accelerate the build process can cause random build crashes on some devices such as single-board computers.  The build may be more stable if -j8 is left out of the make instruction, though could take significantly longer to complete.
sudo make uninstall && make clean && make && sudo make install
Please do let me know how LibUVC works for you too.  Good luck!

Hi @MartyG-RealSense  When i ran with  cmake ../ -DFORCE_LIBUVC=true. -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true  flag and consectively sudo make uninstall && make clean && make -j8 && sudo make install i get stuck up at another point -
HEAD is now at 2f33be817 RELEASE-NOTES: synced
[ 17%] No patch step for 'libcurl'
[ 17%] No update step for 'libcurl'
[ 17%] Performing configure step for 'libcurl'
Performing Test OPT_Wcast_align - Success
-- Performing Test OPT_Wtype_limits
-- Performing Test OPT_Wtype_limits - Success
-- Performing Test OPT_Wold_style_declaration
I ll now try your suggestion and update you soon.

Thanks a lot @MartyG-RealSense. I used sudo make uninstall && make clean && make && sudo make install to install and the SDK could be succesfully installed. When the camera was connected and rs-enumerate-devices command was run i could see the camera getting detected.

That's great to hear, @VishnuRamTK - thanks very much for the update!

Hi @MartyG-RealSense i could not see the pyrealsense.so file anywhere after the installation. The readme.md document in the page https://github.com/IntelRealSense/librealsense/tree/251/wrappers/python suggests alternative ways to install pyrealsense however nothing works for me. Apparently the bdist_wheel argument for setup.py is obsolete or not found. Should i once again reinstall the the whole SDK as suggested in building from source section on this page?

Using setup.py to install the Python wrapped with a wheel file may not work for the Kria KV260 FPGA board as the whl files are designed for amd64 computer architectures such as desktop and laptop PCs.
The wrapper can alternatively be installed by building librealsense from source code and including CMake build flags to install pyrealsense2 at the same time as the SDK, or by building the wrapper only from source ,(as you mentioned) after already having installed librealsense.

Hi @MartyG-RealSense. I built the sdk from source with relevant changes mentioned in the building from source section and things worked out. I got the pyrealsense2.so file but with a different name but renamed it and copied it along with librealsense.so to the location of the py_viewer_depth.py script following which i ran it. I could see the color and depth streams from the camera. Thanks a lot for the support.

You are very welcome, @VishnuRamTK - it's great to hear that you succeeded.  Thanks very much for the update!


Does the Linkedin Gem contain a wrapper for the groups API?

I am trying to utilize the new groups API - and curious if this GEM has the methods for it?

The current version of the gem does not support the Groups API.  The 2-0 stable branch does support the groups API if you want to use it.
Pull requests are also always welcomed.


Commands are missing with pipelining in cluster environment

Bug Report
Commands are missing with pipelining in cluster environment.
Current Behavior
In the code snippet below, the rpush() and expire() commands are not delivered to Redis.
I checked the Redis server log and the commands never delivered, but only del() commands were delivered and executed successfully.
The number of item is 5,000 so 15,000 commands should be delivered in total.
Input Code

Input Code
// create single synchornous cluster connection. (dedicated)
try (StatefulRedisClusterConnection<String, String> connection = myClient.getClusterClient().connect()) {
    connection.setAutoFlushCommands(false);
    for (Item item : items) {
        batchRedisCommands(connection, item);
    }
    connection.setAutoFlushCommands(true);
    connection.flushCommands();
}

// ...

// batch commands
private void batchRedisCommands(StatefulRedisClusterConnection<String, String> connection, Item item) {
    RedisAdvancedClusterAsyncCommands<String, String> async = connection.async();
    async.del(item.getRedisKey());
    async.rpush(item.getRedisKey(), item.getList());
    async.expire(item.getRedisKey(), DAY_IN_SECOND);
}

Expected behavior/code
All the del(), rpush(), expire() commands are executed in order per item.
Environment

Lettuce version(s): io.lettuce:lettuce-core:6.2.3.RELEASE
Redis version: 5.0.14

Possible Solution
None.
Additional context
There was no problem when I used asynchronous connection pool like below.
// create asynchronous connection pool
private BoundedAsyncPool<StatefulRedisClusterConnection<String, String>> createConnectionPool() {
        CompletionStage<BoundedAsyncPool<StatefulRedisClusterConnection<String, String>>> future =
            AsyncConnectionPoolSupport.createBoundedObjectPoolAsync(
                () -> clusterClient.connectAsync(StringCodec.UTF8),
                BoundedPoolConfig.builder().maxTotal(CONNECTION_POOL_SIZE).build()
            );
        try {
            return future.toCompletableFuture().get();
        } catch (InterruptedException | ExecutionException e) {
            throw new RuntimeException(e);
        }
    }

// ...

// use dedicated async connection from cluster
for (Item item : items) {
    myClient.getConnectionPool().acquire().thenCompose(
        connection -> {
            batchRedisCommands(connection, item);
            return myClient.getConnectionPool().release(connection);
    });
}

// ...

// batch commands
private void batchRedisCommands(StatefulRedisClusterConnection<String, String> connection, Item item) {
    connection.setAutoFlushCommands(false);
    RedisAdvancedClusterAsyncCommands<String, String> async = connection.async();
    async.del(item.getRedisKey());
    async.rpush(item.getRedisKey(), item.getList());
    async.expire(item.getRedisKey(), DAY_IN_SECOND);
    connection.flushCommands();
}

I saw this comment and changed from connection pooling to single connection creation and this issue happened.
What am I doing wrong?
I have tried

to remove connection.setAutoFlushCommands(false) and connection.flushCommands()
to replace async commands with sync commands

(1) had no effect and (2) took multiple times longer than with async commands.
I'd like to ensure fast & correct order of the command exeucution.
I have further questions.

What happens when I call RedisClusterClient.connect()? Does it create new connection to a node everytime I call the method?
if I execute multiple commands for single dedicated connection with RedisClusterClient, does all the commands use the same same connection to a single dedicated node?
Is it ok to use try-with-resources with cluster connection from RedisClusterClient.connect() so that it closes the connection after use? In this wiki it says that we should not close the cluster connections.
If I want to reduce network I/O and guarantee the order of async commands like del() -> rpush() -> expire(), how can I do that?

Thank you for the reply in advance!

@mp911de
Hello, I first apologize for mentioning you for this issue.
I'm so sorry for bothering you but could you check this issue please?
I've been waiting for the reply for 2 weeks 😭
I'm not pushing you but I don't want that I don't get any respond for the questions either.
(I think you are busy tho)
I really want to know the cause and possible solutions.
Could you answer to the questions above please?

This is a duplicate of #2380. Basically, all operations in Lettuce are async. Only the flush command API is synchronous. If you use flushCommands() before all connections are established, then you will encounter command/synchronization loss.

@mp911de
Thank you for the comment.
Then should I change thenCompose to themComplete to guarantee the connection is established completely?
myClient.getConnectionPool().acquire().thenCompose( // here
        connection -> {
            batchRedisCommands(connection, item);
            return myClient.getConnectionPool().release(connection);
    });

I though that the connection is established and acquired by the line.
and, it was not my goal to solve the issue by mentioning you.
I wanted to understand how lettuce works internally through following questions.

What happens when I call RedisClusterClient.connect()? Does it create new connection to a node everytime I call the method?
if I execute multiple commands for single dedicated connection with RedisClusterClient, does all the commands use the same same connection to a single dedicated node?
Is it ok to use try-with-resources with cluster connection from RedisClusterClient.connect() so that it closes the connection after use? In this wiki it says that we should not close the cluster connections.
If I want to reduce network I/O and guarantee the order of async commands like del() -> rpush() -> expire(), how can I do that?

Could you re-consider answering to the questions again please?


Misspelled repo name

Hi there, you're missing a second O in the repo name. :wink:

Lol! Priceless!

Finally changed it. :)


Circular (endless) scrolling

I saw this issue (https://github.com/mikepenz/FastAdapter/issues/528) and tried to implement your suggestion. I know the issue is not related to your adapter, but the problems I face are.
Result and issues are here: https://stackoverflow.com/questions/47137057/circular-endless-recycler-view. Those issues are not related to your adapter but because they exist, I wanted to try an alternative apporach, namely the one working with Integer.MAX items in the adapter.
So my question is following: I want to try the Integer.MAX solution, sadly this will have the effect, that your adapter iterates ALL items to find out all item types. Maybe there are even other problems (filtering probably, but this would not be an issue for my use case, I filter outside of the adapter)?
For now, I wanted to know if I can somehow skip/disable the item type registrations and manually create the item types by providing the REAL item list instead of the artificially increased list the adapter will work with which has Integer.MAX items... Or do you see any other approach to solve this problem?

The type instance registry will only do something if that type is not yet there. Basically it contains exactly 1 entry per item
https://github.com/mikepenz/FastAdapter/blob/develop/library-core/src/main/java/com/mikepenz/fastadapter/utils/DefaultTypeInstanceCache.java#L19

Closing this as there was no activity for 2 weeks. If there is any follow up needed please let me know


Gallery view

Gallery view (requires fix in API for outbound media)

I was able to get loading and scrolling working correctly, the only reason I'm not merging this yet is because I'm not sure if we want to change from using v-if to using :class={'invisibile': galleryView} and :class={'invisibile': !galleryView}, since this will maintain scroll position. It's also possible that v-show maintains position even though it's using display:none (because the elements remain in the DOM). We can discuss on Monday!


make detector loading robust to bad files

- Do you want to request a feature or report a bug?
bug
- What is the current behavior?
netlify dev will completely fail if a single bad detector is submitted from community. e.g. netlify/netlify-dev-plugin#177
we will eventually extract it out and automate tests, but also want to build in more resilience from the netlify dev/cli side.
- If the current behavior is a bug, please provide the steps to reproduce.
- What is the expected behavior?
- Please mention your node.js, and operating system version.

try {} catch on the detector loader will do wonders

i think i already implemented this


sysstat: fix source url

Motivation for this change
Fix source URL.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Backported to release 19.09


Improve developer experience for checks

Always call process.exit to make sure the scripts don't hang at the end
Parse options (--fix) in individual scripts, which makes sure they can be run individually

Looks good!


The following error is prompted when downloading MVRegC

I prompted the error after entering “python setup.py build” under the DeformationPyramid-main\cxx folder
LINK : fatal error LNK1181: The input file cannot be opened “C:\Users\Administrator\DeformationPyramid-main\cxx\build\temp.win-amd64-cpython-39\Release\Users\Administrator\DeformationPyramid-main\cxx.\cpu\graph_proc.obj”

Run python setup.py install

It is not necessary to install MVgC, as it is a lib for a baseline method (N-ICP).
I just removed it from the import in here.