Add more static classes to Classic Theme components.

Motivation
During my own attempt to implement customisations to the Classic Theme, I found it very difficult to modify some of the styles due to them being given different scopes in hot reload development as opposed to during a build, where they are appended with hashes.
My current solution has been to create a very hacky swizzle of the ThemeProvider component, which injects a style tag into the HTML body with the classes added which I want to over-ride. A reduction of that solution is below (only look if you appreciate "creative" programming):
import React from 'react';
import cssesc from 'cssesc';

import ThemeProvider_Original from '../../../node_modules/@docusaurus/theme-classic/src/theme/ThemeProvider';
import styles_DocPage from<EMAIL_ADDRESS>
const esc = name => cssesc(name, {isIdentifier: true});

const styles = `
.${esc(styles_DocPage.docSidebarContainer)} {
  border-right: none;
}
`;

export default function(props) {
  return (
    <>
      <style dangerouslySetInnerHTML={{__html: styles}} />
      <ThemeProvider_Original {...props} />
    </>
  );
}

So that's what it took just to remove the border on the left-side docs menu.
This PR proposes to ease the simple use of the standard custom.css instead, by providing more static classes to the Classic Theme components. These will not be scoped by Webpack/CSS Loader, and so will be more easily overridden in custom.css (albeit sometimes using !important - can the load order be fixed so custom.css is always last?).
I have done my best to identify all the potential points where a user might want to hook in with their own styles. I am not attached to the class names themselves, I was trying to understand the logic of underscores, hyphens, camels, and kebabs but it was really not clear.
Have you read the Contributing Guidelines on pull requests?
Yes, Facebook now has the right to claim my first born son.
Test Plan
These are non-breaking changes that are 100% backward compatible. I ran all the tests and linters though. Works a treat on my local development env and I can do away with my magical swizzled component at this point.
Related PRs
None. No docs about the standard styles exist AFAIK, so I guess they don't need updating.

That was just for my example. I have had this occur on many other components. There are just not enough static class names for someone to hook into using standard custom.css. And diving down anonymous Dom elements is not great either. I selected a few places where I thought adding predictable class names would be helpful. I need about half of these myself.
Happy to call the classes whatever, but I need guidance there as I can't decipher the pattern - actually I suspect there isn't really a pattern.

I am against such a "messy" adding of classes. I'd rather do it on demand
when someone really needs it.
ср, 13 мая 2020 г. в 12:58, Sam Bauers<EMAIL_ADDRESS>
That was just for my example. I have had this occur on many other
components. There are just not enough static class names for someone to
hook into using standard custom.css. And diving down anonymous Dom
elements is not great either. I selected a few places where I thought
adding predictable class names would be helpful. I need about half of these
myself.
Happy to call the classes whatever, but I need guidance there as I can't
decipher the pattern - actually I suspect there isn't really a pattern.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/facebook/docusaurus/pull/2743#issuecomment-627881475,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBUIO3D46F2TSGUTCSYDADRRJVM5ANCNFSM4M7QRF5A
.

Sorry, we will not go back to using static classes. To save yourself time in future, please raise an issue to discuss before spending the time to implement the changes which isn't aligned with what we want/need.

@yangshun @lex111
I understand the desire not to have a bunch of static classes when using css modules, but it is still pretty inconvenient to swizzle a component just to implement basic styling.
What if the user could, instead of swizzling the whole component, create a component specific css modules file that would combine with the pre-existing css module file?
https://github.com/css-modules/css-modules/blob/master/docs/import-multiple-css-modules.md

What if the user could, instead of swizzling the whole component, create a component specific css modules file that would combine with the pre-existing css module file?

That sounds interesting. I do agree swizzling is not ideal. We'll look into allowing for more customization via outlets (injecting your React components into certain slots) and class name props are possible additions. Please add more of your swizzling use cases here so we know how why people are swizzling components and what APIs we can add such that you can customize your components without swizzling.

I started a discussion on #2790, feel free to chime in there!


Update netty-all, netty-buffer to 4.1.105.Final

About this PR
📦 Updates

io.netty:netty-all
io.netty:netty-buffer

from 4.1.94.Final to 4.1.105.Final
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.netty" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "io.netty" }
}]

labels: library-update, commit-count:1

Superseded by #297.


does bloxstrap have RCO in it?

no RCO does not support BloxStrap in any way. Join the RCO server here: https://discord.gg/optifury

no RCO does not support BloxStrap in any way.


docs(admin-api) document the fourth level of auto-generated admin apis

Summary
This PR adds the following:

a generic description about auto-generated endpoint
support for admin_api_name and admin_api_nested_name schema parameters
support for the fourth level of entity endpoint

Script changes look good! I also generated the docs locally and the changes look correct. (CI failures are unrelated.)
My only suggestion above is to move the explanation of how the Admin API is auto-constructed to the Plugin development guide rather than the Admin API reference. (I think reference docs generally are more about the "list of what is available" than "explain how it is built", @Kong/team-docs may want to clarify.)


[WIP] Do not reload ipam on healing resync

Coverage decreased (-0.003%) to 75.34% when pulling e425aa93e23ee36ce38d6169fc3cd462f3cbc8f9 on lukasmacko:test into 3acc69b7b912d56b23250a4e5149a7232868a3b5 on contiv:master.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 49 ms

Resolved: ClamAV performance has improved in 70d631c.


feat(module): add param ids to ElasticVectorSearch.from_texts method

add param ids to ElasticVectorSearch.from_texts method.

Description: add param ids to ElasticVectorSearch.from_texts method.
Issue: NA. It seems add_texts already supports passing in document ids, but param ids is omitted in from_texts classmethod,
Dependencies: None,
Tag maintainer: @rlancemartin, @eyurtsev please have a look, thanks

    # ElasticVectorSearch add_texts
    def add_texts(
        self,
        texts: Iterable[str],
        metadatas: Optional[List[dict]] = None,
        refresh_indices: bool = True,
        ids: Optional[List[str]] = None,
        **kwargs: Any,
    ) -> List[str]:
        ...

    # ElasticVectorSearch from_texts
    @classmethod
    def from_texts(
        cls,
        texts: List[str],
        embedding: Embeddings,
        metadatas: Optional[List[dict]] = None,
        elasticsearch_url: Optional[str] = None,
        index_name: Optional[str] = None,
        refresh_indices: bool = True,
        **kwargs: Any,
    ) -> ElasticVectorSearch:

    # FAISS from_texts
    @classmethod
    def from_texts(
        cls,
        texts: List[str],
        embedding: Embeddings,
        metadatas: Optional[List[dict]] = None,
        ids: Optional[List[str]] = None,    # ids support    <--
        **kwargs: Any,
    ) -> FAISS:

thanks @charosen!


Update CI

Coverage decreased (-0.6%) to 98.864% when pulling 94aa7e7516d1fcd24962d32e3f2c8d779a0cdafe on update-ci into 683a518f1a2c422790fa33fd8244be9f830f34d9 on master.


ENOENT error when calling changelog.generate()

Found that .writeChangelog() (which is called by  .generate() does not wait for the open event on its stream parameter. When stream is set to stdout by .generate() its no big deal. If the file passed to fs.createWriteStream() already exists it's also not an issue. However, if the file doesn't exists then writing to the stream may sporadically fail with an ENOENT error.
I propose refactoring .writeChangelog() into an asynchronous method (so that it can wait for the open event) that returns a promise to .generate().
Will add this fix to PR #20.

Looks good, i have never discovered this issue but felt that sometimes files weren't generating correctly sometimes, good job!

There appears to be an additional bug. fs.createWriteStream() fails if the destination folder doesn't exist. Probably no an issue, since most consumers likely use the default settings (i.e. CHANGELOG.md in the project root).

Finally fixed! :-)


adding trailing slash to api

@rmutter @baylee
Adding a trailing slash to api_url if there is none, re: https://github.com/yeti/signals/issues/40

@walkingtowork one comment on placement of the code

@rmutter Fixed


chore: format for stmt

Description
format for stmt
Documentation
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Pinging @jfecher for the parts that modify the parser and ast


blaze.server does not allow CORS

blaze.server sticks with same origin policy so it does not enable CORS requests.. This is an issue for users using bokeh BlazeDataSources to map to a blaze server and update data directly on the browser without bokeh.server because this blaze.server (well, Flask default) configuration will raise an error. Something like:
  XMLHttpRequest cannot load http://domain:9000/compute.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://domain:5006' is therefore not allowed access.

.
This issue can be fixed by setting (injecting) the CORS policies on blaze.server. For instance:
        server = blaze.Server({'dat': gauss})

        def add_crossdomain_headers(response):
            response.headers.add('Access-Control-Allow-Origin', '*')
            response.headers.add('Access-Control-Allow-Methods', 'GET,POST')
            response.headers.add('Access-Control-Allow-Headers', "Origin, X-Requested-With, Content-Type, Accept")

            return response

        server.app.after_request(add_crossdomain_headers)
        server.run(host="<IP_ADDRESS>", port=9000)

But a probably better solution would be to have some kind of configuration on blaze.server itself so users don't have to bother too much trying to find the solution.
NOTE: Flask does expose a crossdomain decorator that can be used to decorate views (and that may be a better solution) but I didn't figure out a quick way of using it within blaze.server before the views are declared (I may be overlooking something trivial, I honestly didn't have much time to dig in details).

I think the one we use in bokeh is a good
https://github.com/bokeh/bokeh/blob/master/bokeh/server/crossdomain.py
It's been modified from the original (http://flask.pocoo.org/snippets/56/)
To set access control allow headers to whatever was sent (if you set headers to None), so that differnet ajax pages which may have different default headers set don't break

For something like the blaze server - I think allowing crossdomain should be the default - since the blaze server doesn't have any web pages, any ajax request hitting the blaze server is always going to come from another domain

@fpliger @hhuuggoo it'd be nice to avoid duplication here. would it be reasonable to use this library http://flask-cors.readthedocs.org/en/latest/ to support crossdomain requests?

even simpler : https://github.com/iurisilvio/flask-crossdomain

I'm sure @tswicegood input would be good here, I think this line is important
https://github.com/bokeh/bokeh/blob/master/bokeh/server/crossdomain.py#L48
and it's something we added, and is not in https://github.com/iurisilvio/flask-crossdomain
The reason I think it's important, is that it's nice to allow blaze server creators to not have to specify which headers they need to accept beforehand, and instead just allow arbitrary headers

I think if you want to enable CORS support on all requests as either a boolean, I would go with Flask-CORS and their basic approach.  It does make sense for that to be the out-of-the-box behavior.

For something like the blaze server - I think allowing crossdomain should be the default - since the blaze server doesn't have any web pages, any ajax request hitting the blaze server is always going to come from another domain

Fully agree

I think if you want to enable CORS support on all requests as either a boolean, I would go with Flask-CORS and their basic approach. It does make sense for that to be the out-of-the-box behavior.

ditto


feat: Updating Docker wasm-base image to Ubuntu 22.04 LTS (needed for updating Autotools)

Opening this PR to check whether all tests pass if updating the Ubuntu image.

While building, found this:
/wlr/scripts/wl-env.sh: line 97: syntax error in conditional expression
/wlr/scripts/wl-env.sh: line 97: syntax error near `AND'
/wlr/scripts/wl-env.sh: line 97: `if [[ -f ${WASMLABS_REPO_ROOT}/.wl-local-conf.sh AND ! -v WASI_SDK_ROOT AND ! -v BINARYEN_PATH ]]'

I think this is related to a recent commit (CC: @assambar).


ui.TextBox: Delete key not working

I implemented Delete alongside with other shortcuts like: Home, End, Ctrl+Left, Ctrl+Right, Ctrl+C, Ctrl+V. Try them out

Verified and closed.


Improvements on mesh_study script

Hi Darshan,
a couple of small tips to improve the mesh_study script:

in the instructions, the script is called mesh_study**.sh** but the actual file is missing the extension
rename the simulation cases; instead of making a copy with the same name, consider a naming like cp -r test_cases/cylinder2D_base test_cases/run/refinement_xx with xx being, e.g., the number of cells in x
don't automatically delete the test cases; sometimes, it is useful to visually assess a simulation to check if everything went as planned; if the full simulation is no longer needed, you can quickly delete all cases manually, e.g., by running rm -r test_cases/run/refinement*
avoid the output of OpenFOAM utilities into the console; the log-output could be useful for later analysis, so it should be stored in a file; consider using utility &> log.utility instead of utility in the mesh script

Best, Andre

Hello Andre,
Thank you very much for the tips. I have pushed commit with mentioned changes. Please check it and let me know. :)

I have included extension in .sh file
Script now save whole simulation in refinement_x file. So at the end we have different directories for visualization.
It does not now delete the files as the  working directory will be changed.
Thank you again for this log.utility tip. (I have searched for that before and did not find correct solution)

Best Regards,
Darshan.


nix-bash-completions: init at 0.1

Bash completion for almost all nix* commands, including nix-1.12.
Motivation for this change
Full bash completion support, including attribute path completion. Almost full feature parity with nix-zsh-completion :smile:
ref nix issues: https://github.com/NixOS/nix/issues/1658 https://github.com/NixOS/nix/issues/37
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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 nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Ah, yeah, I see I had a stray debugging line left. Will make a new pr where it's fixed.


About the generation of 2D coordinates codebook

Thanks for your excellent work!
I am wondering how to produce the embedding codebook for integer 2D coordinates. Maybe sin positional embedding?

Thanks for you quick response~

Could you please refer me to the code involving the translation and interpolation process from the floating point coordinates to the embeddings. Your project code is detailed and a bit large in scale.

Hi this is the interpolation code
https://github.com/amazon-science/polygon-transformer/blob/52b83d8eaec7893119ae9885d5e33b5f9f95c83a/models/polyformer/unify_transformer.py#L1311

Hi this is the interpolation code
https://github.com/amazon-science/polygon-transformer/blob/52b83d8eaec7893119ae9885d5e33b5f9f95c83a/models/polyformer/unify_transformer.py#L1311

Many thanks!!!


[New Sniff] Forbidden functions

Rule:
A number of functions are forbidden for use in a theme.
Current list:

eval()
ini_set()
popen()
proc_open()
exec()
shell_exec()
system()
passthru()
base64_decode()
base64_encode()
uudecode()
str_rot13()

Ref: https://make.wordpress.org/themes/handbook/review/required/theme-check-plugin/#check-for-bad-things
Theme check file covering this rule:
https://github.com/Otto42/theme-check/blob/master/checks/badthings.php
Decision needed:
The above list needs proper review - is this list complete ?
Should the WPCS WordPress.PHP.DiscouragedFunctions sniff be turned on as well ?
Should there also be a check against the use of the backtick operator ?
Ref: http://php.net/manual/en/language.operators.execution.php
To do:

[ ] Review the list of forbidden functions.
[ ] Create unit tests
[ ] Create sniff
[ ] If so agreed - add existing WordPress.PHP.DiscouragedFunctions sniff to the ruleset.
[ ] If needed, update the rule in the Theme Review handbook.

I would also suggest having a look at the following (existing) sniffs to see if these can/should be (partially) incorporated:
WordPress.VIP.FileSystemWritesDisallow
WordPress.VIP.RestrictedFunctions
WordPress.VIP.SessionFunctionsUsage

Some of the sniffs in WPCS are not separated correctly so that is why I opened an issue to discuss it https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/582

We'd need to go through this one function by function.  There's a lot that we'd allow: https://github.com/WPTRT/WordPress-Coding-Standards/blob/feature/theme-review-sniffs/WordPress/Sniffs/VIP/RestrictedFunctionsSniff.php

@justintadlock Totally, that is also why I created a new issue upstream to separate some of these checks so that we can only use which applies to us. https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/582

Does the backtick operator even work out of context, ie. outside a shell_exec?
Update: Yes, it does.
Tested the following in my local fiddle (similar to PHPFiddle; wrote it a few years ago, for quicker PHP tests):
$file = `uname -a`;
echo $file;

Which resulted in the expected output
Linux coolrunnings 4.2.0-41-generic #48~14.04.1-Ubuntu SMP Fri Jun 24 17:09:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Further tests with:

whoami => (my user name)
groups => (the groups my user name is in)
ls ~ => (display the content of the home directory of the current user)

went successfully through as well. One with malicious intent could easily cobble together a rootkit / intrusion kit with that. Also, one with next-to-none knowledge about sanitization and security could accidently tear open a BIG fat security hole for people of the former persuasion.
So yes, there should DEFINITELY be a test for (and against) the backtick operator.
cu, w0lf.

Does the backtick operator even work out of context, ie. outside a shell_exec?

Well, only on PHP < 5.4 and only when safe_mode is off, but yes, in that case, it would work.

Well, only on PHP < 5.4 and only when safe_mode is off, but yes, in that case, it would work.

Sorry, but: not true. My development environment uses PHP 7 (version 7.0.5 to be exact). Guess where I tested it? ;)
Also, there is no more safe_mode after PHP 5.4: http://php.net/manual/en/features.safe-mode.php
cu, w0lf.

@ginsterbusch Of course. I'm getting confused, its late here :sleeping:

No offense taken :)
cu, w0lf.

@ginsterbusch Still an hour or so before it gets light... all the same - result: https://github.com/squizlabs/PHP_CodeSniffer/pull/1073

Is there a danger from preg_replace() with the 'e' modifier?

@joyously Yes there is, but that would be a rule to itself as the preg_replace() function itself should not be blocked and this sniff is not about checking the function parameters.
Related upstream PR covering preg_replace() with /e (and currently not mergable because of licensing issues): https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/pull/608

Regarding the backtick operator for executing shell commands:
The upstream PR at PHPCS has been merged, but is currently not yet contained in a released version.
I've pushed a branch which can be used for the PR once PHPCS releases a version containing this sniff.
Branch: https://github.com/WPTRT/WordPress-Coding-Standards/commits/WPTRT/PHPCS2.7/feature/disallow-backtick-shell-execution
Relevant commit: https://github.com/WPTRT/WordPress-Coding-Standards/commit/f71fbc8371c0c4b50ce34ec131224c6c990742c7

I am cleaning up a hack on one of my client sites, and the injected code starts with:
$l___l_='base'.(32*2).'_de'.'code';

Would love to hear if there is some new info about this 🙂


Issue about api

Dear author, does your work have any web api? I want  use it to generate prompts

Are you referring to LLMPAR? We're in the process of organizing the relevant checkpoints.


Syntax selection missing for new unsaved code

VSCode Version:1.81
OS Version: win 10

Steps to Reproduce:

open new file
paste some js code
Format Document option missing from right click menu(since IDE does not know what kind of syntax you have and there is no option to select it)

You can switch the language by clicking on the language indicator in the status bar (e.g in our example on Plain Text)

Thanks!


fix(datepicker): revert calendar disabled attribute to allow render tooltips

SDE-897
Description
This is a revert from #3379 because I wasn't able to add tooltips for calendar days with the disabled attribute, even wrapping the component with a <span>, as mentioned in Tooltip on disabled element section.
How to test

FIXME: Add the steps describing how to verify your changes

Screenshots

Before.
After.

Insert screenshots or screen recordings
Insert screenshots or screen recordings

Development checks

[x] Add changeset according to guidelines (if needed)
[x] Read CONTRIBUTING.md and Component API principles
[x] Make sure that additions and changes on design follow Toptal's BASE design, and it's been already discussed with designers at #-base-core
[x] Annotate all props in component with documentation
[x] Create examples for component
[x] Ensure that deployed demo has expected results and good examples
[x] Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.
[x] Self reviewed
[x] Covered with tests

Breaking change

[x] codemod is created and showcased in the changeset
[x] test alpha package of Picasso in StaffPortal

All development checks should be done and set checked to pass the
GitHub Bot: TODOLess action

PR commands

List of available commands:

@toptal-bot run package:alpha-release - Release alpha version
@toptal-anvil ping reviewers - Ping FX team for review

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

@toptal-anvil ping reviewers

@toptal-anvil ping reviewers


When domain is deleted outside of PowerDNS-Admin the worker timeouts on dashboard

When a PowerDNS domain is deleted outside of PowerDNS-Admin, i.e. in the PowerDNS back-end directly, the PowerDNS-Admin gunicorn worker times out (already tried raising the limit) on the /dashboard page:
Dec 19 13:49:49 dns gunicorn: [DEBUG] Update domains in foreground
Dec 19 13:49:49 dns gunicorn: [DEBUG] Starting new HTTP connection (1): <IP_ADDRESS>:8081
Dec 19 13:49:49 dns gunicorn: [DEBUG] http://<IP_ADDRESS>:8081 "GET /api/v1/servers/localhost/zones HTTP/1.1" 200 2
Dec 19 13:51:20 dns gunicorn: [2018-12-19 13:51:20 +0100] [18743] [CRITICAL] WORKER TIMEOUT (pid:18829)
Dec 19 13:51:20 dns gunicorn: [2018-12-19 13:51:20 +0100] [18829] [INFO] Worker exiting (pid: 18829)
Dec 19 13:51:20 dns gunicorn: [2018-12-19 13:51:20 +0100] [21424] [INFO] Booting worker with pid: 21424

Removing the domains also from the domains table in the PowerDNS-Admin MySQL database resolves the issue.
It seems that this is a bug in PowerDNS-Admin which renders PowerDNS-Admin unusable if a domain is deleted on the PowerDNS nameserver.

Hmm, I tried to reproduce this issue but i couldn't. I am wondering how can this happen because we already have the code for removing the old domain in PDA's database to sync the list of domain between 2 databases. See https://github.com/ngoduykhanh/PowerDNS-Admin/blob/master/app/models.py#L836

275

There is a for loop on the list of those domains to remove the domain owner, setting before completely remove the domain name from the database. It might slow with that number of domain. You might want to increase the gunicorn timeout config to avoid the issue.

Already did. From 30 to 90.

I finally found a better way: using a single database transaction solves all of the above described problems: with a single transaction SqlAlchemy doesn't need to re-fetch all the objects after any modification. This heavily speeds up the whole update process for my test case with 55000 domains.
See #655 for details.


Support for Live Preview?

Hi,
I absolutely love the Zoom plugin and would love for it to be a Core plugin one day.
I know Live Preview is still really early but it would be great to have support for Zoom in it.
Thanks!

@cansar thank you for your feedback. closing this issue as duplicate of https://github.com/vslinko/obsidian-zoom/issues/34


[ad_integration] Use AdditionalSssdConfigs in AD integ test

Signed-off-by: Tim Lane<EMAIL_ADDRESS>By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Merging without approval into the feature branch because the changes are minor and are required for work that depends on it tomorrow. Asking @hanwen-pcluste to review and will address any feedback via a follow-up PR.


Pandas reporter final_df_output event resolution

Add the field output_event_resolution field to PandasReporterConfigSchema used to set the event_resolution of the final_df_output. This is useful for cases in which we want to modify the event_resolution using methods that are not part of  timely-beliefs (e.g: resample).
In addition, this PR solves the issue of having NaN DataSources in the returned timely-beliefs.

Why can't we get the resolution of the final output from self.sensor.event_resolution instead?

Why can't we get the resolution of the final output from self.sensor.event_resolution instead?

The idea is, by default, check that the output event_resolution == self.sensor.event_resolution, happening in the Reporter class. If we set the output event_resolution to self.sensor.event_resolution, we always bypass this check.

So now you can pass the output resolution explicitly, but it must match the output sensor resolution. ...
Can we think of some alternatives? Is this resolution only passed to make that check succeed? If so, maybe we want that check only on proper BeliefsDataFrames, and want to have a different check on regular DataFrames (maybe checking the index frequency instead)?

Can we think of some alternatives? Is this resolution only passed to make that check succeed? If so, maybe we want that check only on proper BeliefsDataFrames, and want to have a different check on regular DataFrames (maybe checking the index frequency instead)?

Good point! I've updated the code to update the event_resolution of the output BeliefDataFrame to the event_start frequency in case this doesn't match the output sensor's.


SemiVirtualEdgePage::deallocateEdge should reset constraint

SemiVirtualEdgePage::deallocateEdge shoud reset constraint. Otherwise when edge is reused can have invalid constraint flags/index. I don't have test to reproduce this issue. Maybe cannot occur in current algorithm. But still should be fixed for correctness.
Missing following line:
   if (constraints != null) constraints[offset >> 1] = 0;

Both of your observations are correct.
First, you are right about the code fix.  The current code needs to have that line added.  I will take of it next time I have an opportunity to work on Tinfour.
Second, you are correct that the glitch does not affect the current implementation.  At present, Tinfour "locks" the collection and does not allow the TIN to be modified after constraints are added.  So constrained edges will never be removed and the deficiency never matters.  Nor can it be tested.
For future work, however, I am considering algorithms that require the ability to remove vertices from the TIN.  When vertices are removed, edges will also have to be removed or reused.  In that case, having the correct behavior on the deallocateEdge is critical to the algorithms success.  If you hadn't identified the problem, it eventually would have cost me a lot of unnecessary time debugging the issue.  So thanks.
Gary
P.S. I must say that you are looking at my code very closely.  And you seem to be finding some very subtle issues...  I am grateful to have somebody doing that.

Correction made to code.  This issue is now closed.


feat: call saved objects with internal user

Description
Call saved objects API with internal user
Issues Resolved

Screenshot

Testing the changes

Check List

[ ] All tests pass

[ ] yarn test:jest
[ ] yarn test:jest_integration
[ ] yarn test:ftr

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] Update CHANGELOG.md
[ ] Commits are signed per the DCO using --signoff

Codecov Report

Merging #80 (e830036) into workspace (23a77e9) will decrease coverage by 18.48%.
The diff coverage is 0.00%.

@@              Coverage Diff               @@
##           workspace      #80       +/-   ##
==============================================
- Coverage      65.64%   47.17%   -18.48%
==============================================
  Files           3342     2588      -754
  Lines          64620    52256    -12364
  Branches       10281     8400     -1881
==============================================
- Hits           42421    24650    -17771
- Misses         19635    26130     +6495
+ Partials        2564     1476     -1088

Flag
Coverage Δ

Linux_1
34.67% <ø> (ø)

Linux_3
42.37% <0.00%> (-0.02%)
:arrow_down:

Windows_1
?

Windows_2
?

Windows_3
?

Windows_4
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

src/core/server/server.ts
2.15% <ø> (-96.78%)
:arrow_down:

src/core/server/workspaces/workspaces_service.ts
0.00% <0.00%> (-58.83%)
:arrow_down:

... and 1390 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


first 'azure quickstart template' link is dead

link is dead, 404 on first 'azure quickstart template' link

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

ID: 4be300e5-3323-269f-bb5a-f75fc68576b2
Version Independent ID: 64685f46-c1f7-f195-4bb3-be96ec621193
Content: Cloud Shell in an Azure Virtual Network
Content Source: articles/cloud-shell/private-vnet.md
Service: azure
GitHub Login: @maertendMSFT
Microsoft Alias: damaerte

@javester Thanks for your comment! We will review and provide an update as appropriate.

Fixed!  Thanks for calling this out!
#please-close


Improve plugin testing

Adds testing for #3516
This PR:

Refactors collect_plugins to foley collect plugins (needed for simpler testing)
Makes get_module_meta more resilient in changing env
Removes several safety catches from coverage
Fixes several issues with custom plugin dirs
Adds tests for helpers and registry functions

Closes #3408

Thanks for the updates @matmair

@matmair sorry, more breakages:

https://github.com/inventree/InvenTree/runs/7850109175?check_suite_focus=true
https://github.com/inventree/InvenTree/runs/7850132801?check_suite_focus=true

Can you have a look into this when you get a chance? We should probably swap our testing regime around so that postgresql is the default database. It seems to fail much more readily...


Always use size_t for byte offsets

Hi!
I had a glft file with a single large buffer which i then used in many bufferViews/accessors.
This ended up silently creating an invalid file with negative byteOffsets due to a size_t->int cast overflowing in serialization.
This request fixes that serialization bug, and uses size_t for all byte offsets, instead of a mix depending on struct (bufferView, accessor, accessor::Sparse)

Good catch!
https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#_accessor_byteoffset
The spec says byteOffset is ">=0", so we can use size_t(uint).
Let me give some time to review the PR

Merged! Thanks!


#44 - invite command implementation

Implemented and invitte command, fixes #44
Description
When the user give the /invite command to the bot, he prompts the user with a message (see screenshot)
Click on the Invite me url button will prompt Discord's default modal for bot invitation (see screenshot)
Motivation and Context
A common command that could be useful to many
How has this been tested?
Bot hosted in local, invited to my Discord server (from which the screenshots come)
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Updated after your suggestions


False positives for extra_requires subdependencies, and for packages who's pypi name differs from import name

I just tried running creosote v2.2.0 on my project, Belay:
creosote --venv .venv --paths belay --deps-file pyproject.toml --sections project.dependencies

The output:
Unused packages found: aiohttp, gitpython, typing-extensions

Without understanding creosote's internals, here's my speculations:

aiohttp is a subdependency of fsspec[http]. Perhaps creosote doesn't handle extra_requires properly.
gitpython is used as import git; i.e. it's pypi package name and module name are different. This stackoverflow answer  provides some idea of how one might draw the relation (note; it uses deprecated pkg_resources):

>>> import pkg_resources as pkg
>>> metadata_dir = pkg.get_distribution('gitpython').egg_info
>>> open('%s/%s' % (metadata_dir, 'top_level.txt')).read().rstrip()
"git"

typing-extensions, possibly same story as (2), it's used as import typing_extensions.

I imagine other popular python packages may run into issues, a few off the top of my head:

pillow - import PIL
opencv-python - import cv2

Unrelated side small feature request; allow the version to be printed out from the CLI via creosote --version. Thanks!

Hi @BrianPugh and thanks for the report!

Hm, sub-dependencies not specified in the pyproject.toml could be a difficult case to solve nicely. I'll have to think about this one.
and 3. Creosote is actually covering for the case where the package name differs from the import naming, so I'm a bit surprised this did not work. I think a new argument --verbose could enable showing how the mapping is done for easier debugging on this, so I'll look into adding this first.

I'll have to look closer at this, maybe later today or next week.

allow the version to be printed out from the CLI via creosote --version

👍 I had this planned, but didn't get around to do it yet. Also a bit bummed out about already having -v, oh well 😅

@fredrikaverpil I think it's better to use capital -V for version anyway. It seems to be some kind of a popular convention, at least python and pip work this way.

@BrianPugh I just increased debug logging using --verbose and I'll have a look at how creosote behaves in your repo in a bit.

@BrianPugh I can reproduce this on my end. I'm pretty sure this error stems from that the glob is not case sensitive in https://github.com/fredrikaverpil/creosote/blob/main/src/creosote/resolvers.py#L39

@BrianPugh if you update to v2.3.2 you should not see the false positive with gitpython.
About aiohttp, how come you don't specify your fsspec dependency like this instead?
[tool.poetry.dependencies]
fsspec = {version = "^2022.11.0", extras = ["http"]}

When I do this, creosote does no longer report aiohttp as being an unused dependency.
I'm looking into typing_extensions as it did not seem to be the same story as with gitpython 😅

for aiohttp, I think you are absolutely correct, so that issue is on my side. Thanks for fixing gitpython! As of v2.3.3 I no longer get any false positives! Marking this as closed for now.

I'm glad you're no longer seeing any false positives!
Also, thank you so much for your patience, the project is kind of young and it exploded a bit today 😅 so a few more bugs to squash, I'm sure, before it'll calm down.


need more info

how do we solve this error ?

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

ID: 672e69a1-80bb-87cd-b3b8-bf104d8aa89e
Version Independent ID: 1c66477a-2a97-4eff-1cd8-937f4e7880a0
Content: Compiler Error CS0120
Content Source: docs/csharp/language-reference/compiler-messages/cs0120.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@perlmaster Is this error related to https://github.com/dotnet/docs/issues/15712#issuecomment-550362582? Let us know.


Hello World example

Current examples in https://github.com/cloudflare/workers-rs/blame/main/README.md#L9, https://blog.cloudflare.com/workers-rust-sdk/ and project generated by wrangler generate --type=rust all provide some advanced usage of using router, console_log, DO, POST handling. None of them worked out of the box for me.
For those whose just start out, like me, would it be possible to provide and example worker that just returns Hello world string so we could start from there? Thanks a lot!

Hi @toinbis -
The project generated with --type rust should definitely work out of the box. Can you share any detail about what failed?
I'll double check the README examples for completeness - they could be missing something. Those aren't really meant to be copy/pasted but I suppose if we put any code out there it should work 😄

Just in case it's helpful — I had to update Rust to 1.55 using rustup update before the out-of-the-box project would build/deploy.

Thanks, @StephenHaney, do you recall which version you upgrade from?
I don't think 1.55 is the minimum required, but I could be wrong. I tend to stay on the latest version available - but recognize not everyone does!

Looks like I was on 1.49... I'm not a regular rust user (yet!), so I was a bit behind. It was throwing syntax errors in worker-build-0.0.1/src/main.rs until I updated.
Also, it's not directly unrelated to this OP, but related to getting the example project to deploy... on Mac ARM CPU, wasm-pack doesn't work (no prebuilt wasm-opt binaries are available for this platform: Unrecognized target!). I had to follow the workaround here: https://github.com/rustwasm/wasm-pack/issues/913#issuecomment-907720453
From what I was reading, it sounds like wasm-pack just needs to release its newest merged code before that'll start working automatically on M1 CPUs.
Once I figured those two bits out, I was able to wrangler publisher the project template without issue. Very cool!

Ah, that would explain it -- there are some features we use that are ahead of that release. We're still trying to determine the minimum version required, and it's probably around 1.53. Anyway, glad its working now!
Yea the M1 support is a little tricky with the dependencies we don't control.. and I haven't determined a way to just tell wasm-pack to install an x86 binary and let Rosetta2 do it's thing if we detect an M1 system.

I think this is mostly resolved from the recommendation to upgrade rust versions. I will do another pass though ASAP to ensure everything we publish is buildable. Thanks!

I'm quite new to Rust and Workers as well and I have the same issue as @toinbis. @nilslice  it would be great if you can provide examples for GET, POST, PUT requests and working with params and queries.

Sure thing - we'll get some more examples up ASAP.

Hi @nilslice any update on the examples? :)

Hi @TRomesh -
I just returned from vacation and getting back into the swing of things, but it's definitely on my list.
In the meantime, take a look at the worker-sandbox directory in this repo which might have more "how-to" usage examples. It's a bit messy, but it's used to test most of the features in workers-rs.


[python] Reusing dataset constructed with free_raw_data = True isn't possible. Intended behaviour?

Description
If the training dataset was construcrted with free_raw_data = True, it is possible to use it only once. Trying to continue training (using init_model parameter) leads to an error:
LightGBMError: Cannot set predictor after freed raw data, set free_raw_data=False when construct Dataset to avoid this.
How is continued training different from the first run, if the description states that the original dataset is freed after constructing the dataset? (Not after it's first usage.)
Reproducible example
import numpy as np
import lightgbm as lgb
from sklearn.datasets import load_breast_cancer

X, y = load_breast_cancer(return_X_y=True)
lgb_train = lgb.Dataset(X, y, init_score=np.zeros(y.size))
train_params = {
    'objective': 'binary',
    'verbose': -1,
    'seed': 42
}

model = lgb.train(train_params, lgb_train, num_boost_round=10)
model = lgb.train(train_params, lgb_train, num_boost_round=10, init_model = model)

Environment info
LightGBM version: 3.3.1
Python version 3.9.7

Thanks for using LightGBM!
Can you please share a minimal, reproducible example? For example, using one of the freely-available dataset from sklearn.datasets in sciki-learn.
@TremaMiguel 's example in https://github.com/microsoft/LightGBM/issues/4951#issue-1104736584 is a great example of a small, self-contained example used to demonstrate an issue.

Thanks very much for updating the description with a reproducible example! Excellent write-up, we really appreciate it.
I can confirm that on the most recent published version of lightgbm (3.3.2) and on the latest commit on master (https://github.com/microsoft/LightGBM/commit/f85dfa2c402cc42e3ecf1a960d84a9ceeac908c7), the provided code raises the following error

Cannot set predictor after freed raw data, set free_raw_data=False when construct Dataset to avoid this.

How is continued training different from the first run, if the description states that the original dataset is freed after constructing the dataset? (Not after it's first usage.)

Note that "constructed" has a special meaning in LightGBM. It doesn't mean "called lgb.Dataset()".
LightGBM does some preprocessing like binning continuous features into histograms, dropping unsplittable features, encoding categorical features, and more. That preprocessing is what this project refers to as "constructing" a Dataset.
When you initially call lgb.Dataset() in the Python package, the returned Python object holds information like the raw data and the parameters to use in that preprocessing. When the .construct() method is called on that object, LightGBM passes the raw data and parameters to C++ code like LGBM_DatasetCreateFromMat()
https://github.com/microsoft/LightGBM/blob/f85dfa2c402cc42e3ecf1a960d84a9ceeac908c7/src/c_api.cpp#L1071
That code initializes a LightGBM Dataset object in memory and returns a pointer to it, which is stored in Dataset.handle on the Python side.
Once that Dataset object has been constructed, LightGBM no longer needs your raw input data (e.g. the numpy array passed into lgb.Dataset()). So, by default, it removes its copy of that data.
https://github.com/microsoft/LightGBM/blob/f85dfa2c402cc42e3ecf1a960d84a9ceeac908c7/python-package/lightgbm/basic.py#L1805-L1806
So, back to your example...when you first run lgb_train = lgb.Dataset(...), you've created a Dataset object on the Python side, but it hasn't been "constructed" yet. The first time you use that object for training, LightGBM will "construct" it.
https://github.com/microsoft/LightGBM/blob/f85dfa2c402cc42e3ecf1a960d84a9ceeac908c7/python-package/lightgbm/basic.py#L2577
So if you didn't call the .construct() method on the Dataset before training, then it's first usage is also when it's constructed.
example code showing this (click me)
import numpy as np
import lightgbm as lgb
from sklearn.datasets import load_breast_cancer

X, y = load_breast_cancer(return_X_y=True)
lgb_train = lgb.Dataset(X, y, init_score=np.zeros(y.size))
train_params = {
    'objective': 'binary',
    'verbose': -1,
    'seed': 42
}

# confirm that Dataset handle is None
assert lgb_train.handle is None

model = lgb.train(train_params, lgb_train, num_boost_round=10)

# now the Dataset holds a pointer to a constructed Dataset on the C++ side
print(lgb_train.handle)
# c_void_p(140426868894112)

so what should be done about this?
For now, to re-use the same Dataset for training continuation, I think you'll have to set free_raw_data=False when first calling lgb.Dataset().
Looks like that is exactly what this project does in its tests for training continuation.
https://github.com/microsoft/LightGBM/blob/ce486e5b45a6f5e67743e14765ed139ff8d532e5/tests/python_package_test/test_engine.py#L900-L911
But I think in the future, LightGBM should support the pattern you've described above. I'm not exactly sure where to make changes, but it makes sense to me that you might want to perform continued training on the same Dataset like this.
Linking some relevant discussions: #2899, #2906

@jameslamb But I found free_raw_data=False would consume much more memory ( times cv times ) , and result in OOM . I have to set  free_raw_data=True .
lightgbm                  4.3.0


Make sure threaded files stay in thread (slack). Fixes #590

@patcon please test :)
It doesn't seem possible to impersonate the user that uploads the file, I've tried it using a legacy api token and a new bot token.
Also no hints on https://api.slack.com/methods/files.upload that this is possible
@Helcaraxan any ideas ?

Added another commit that fixes #574

Also, re: not being able to impersonate users on file upload: I had the thought that we could choose to always leave initial_comment blank, and instead post a new comment, which can be , so that their face shows in the thread a little more clearly.
But then that throws things off, because the original comment will be a "thread parent" file message, and comments on the other end of the bridge will be child messages of the "thread parent" file message. This seems it would be confusing.
So in the end, despite Slack docs saying that initial_comment is a "short-term accommodation", we should just keep doing what we're doing, with perhaps a modification for including uploader's username :)

@42wim ah yes, and tested and for UX alone, seems an improvement as-is 🎉

I've updated the patch with the additional comment changes (without newlines).
I think it's okay now to get merged ?


[hotfix][doc][hive] add Hive connector to SQL's connector page

What is the purpose of the change
add Hive connector to SQL's connector page
Brief change log
add Hive connector to SQL's connector page
Verifying this change
n/a
Does this pull request potentially affect one of the following parts:
n/a
Documentation
n/a

merged: 1.10: bac74ecc87995dc4c73290d213ab8bc7af766d36 . master: 387c8b6b1940934f2a06c97464ec172d6df2f7fb


Truncate str and repr in FermionicOp

Summary
I implemented the truncation of the output of str and repr.
https://github.com/Qiskit/qiskit-nature/pull/88#discussion_r678469775
The new output is

In optimization there is a discussion over str and repr of QuadraticProgram and concern over str length which you have here taken care of with an extra truncation variable. I wonder in general if a short str, that was more of an overall summary of the FermionicOp, would be preferable - e.g. state the number of terms in the operator and register length e.g. Fermionic Operator register length=6, number terms=672 and have the full str (that is the current str) as say a details(truncation=0) -> str method. This way you can still get the full list as a string if you want to print it - or use it to save to file or build another FermionicOp later - but by default its hopefully a useful enough summary. In the legacy operator implementation in Aqua we used to have a 'name' field (setter/getter etc) that allowed the creator to give it a name like 'H2 Hamiltonian, spin operator` etc which would be printed and if you had a bunch of these operators in say some List would allow you to annotate what they represented if that was useful to you. I would have said that would be part of the summary str too but I do not see such a field here.

@woodsp-ibm Thanks. Displaying the register_length and # terms is very nice. I want to add them.
If you need full str, you can set the truncation 0 by FermionicOp.set_truncation(0).
As for name, it's not obvious about arithmetic operations. Should the name of A + B be A.name + B.name or A.name or B.name? This is the difference between operators and QuadraticProgram. If this problem is resolved, I can add the name field.

I am able to add some unittests. But I think many modules have no unit tests for str and repr. What do you think?

Yes I see. I think it's fine then :+1:


Support Chart.js v4

Please update to support Chart.js v4
https://github.com/chartjs/Chart.js/releases/tag/v4.0.0-release
https://github.com/chartjs/Chart.js/releases/tag/v4.0.1
https://www.chartjs.org/docs/latest/migration/v4-migration.html

@ximex Hi, thanks for letting me know version 4 has been released. Definitely I will update the library soon.

@ximex the current version (3.8) fully supports version 4 and does not require urgent changes.
After some time, I will release a new version with minor changes in the documentation. The code does not require changes.

new version published


ci: Add automatic dependancy upgrade

See https://github.com/lenra-io/lenra_ui_runner/pull/51

:tada: This PR is included in version 1.0.0-fix-doc-release.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Wordpress Setup

The wordpress configuration for this plugin is irrelevantly difficult. Please consider creating a wordpress plugin. Thanks.

Sharrre is not meant to support any CMS. You can check with https://github.com/paulund/sharrre-wordpress-plugin or https://github.com/DerekMarcinyshyn/wp-sharrre if you want a wordpress plugin.


feat/update readme

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


SAAS-663 Add tigerastatus for managed cluster

Remove the status if related CR is not found.
Add a new status management-cluster-connection to managed cluster that will let the user know if its connected to management cluster

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

It would be nice to have an FV test in the repo that makes sure this logic is sound. Could you add one of those as well?
I'm thinking a test that deletes a CR (e.g., Installation) and asserts that the corresponding TigeraStatus is eventually removed.


Width cannot exceed 12 columns

Hi,
I would like to use gridstack on my high-resolution large display system. The display of my workspace consists of ~16K pixels horizontally. It is a display wall of around 8 meters wide. Therefore I need many columns for my use case. When I change the width property, it is fine until 12 columns, but it is not still not sufficient. When I exceed 12, there are problems in the layout, and it doesn't really display more than 12 columns. How can I change the number of columns correctly? Thank you.

var styles = "";
var gridw = 200;
for(var i = 0; i <= gridw; i++){
styles += ".grid-stack-item[data-gs-width='"+i+"'] {width: "+((i100)/gridw)+"%;}" ;
styles += ".grid-stack-item[data-gs-x='"+i+"'] {left: "+((i100)/gridw)+"%;}" ;
styles += ".grid-stack-item.grid-stack-item[data-gs-min-width='"+i+"'] {min-width: "+((i100)/gridw)+"%;}" ;
styles += ".grid-stack-item.grid-stack-item[data-gs-max-width='"+i+"'] {max-width: "+((i100)/gridw)+"%;}" ;
}
$('').appendTo(document.head);
I use this code, But this is wrong maybe it will work properly for you

where should we use that code?
On 11 January 2017 at 03:54, serkanr<EMAIL_ADDRESS>wrote:

var styles = "";
var gridw = 200;
for(var i = 0; i <= gridw; i++){
styles += ".grid-stack-item[data-gs-width='"+i+"'] {width: "+((i
100)/gridw)+"%;}" ; styles += ".grid-stack-item[data-gs-x='"+i+"'] {left:
"+((i100)/gridw)+"%;}" ;
styles += ".grid-stack-item.grid-stack-item[data-gs-min-width='"+i+"']
{min-width: "+((i
100)/gridw)+"%;}" ; styles +=
".grid-stack-item.grid-stack-item[data-gs-max-width='"+i+"'] {max-width:
"+((i100)/gridw)+"%;}" ;
}
$('').appendTo(document.head);
I use this code, But this is wrong maybe it will work properly for you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/troolee/gridstack.js/issues/584#issuecomment-271850136,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJUUZ4yHUqOzm24TlAJO5zYiHh2faZOOks5rRMLpgaJpZM4LfzdO
.

Kardeşim türkmüşsün ya sende :D bana mail adresini yazar mısın ben sorunu biraz çözdüm yardımcı olayım

evet haha<EMAIL_ADDRESS>cok tesekkurler simdiden
On 11 January 2017 at 22:10, serkanr<EMAIL_ADDRESS>wrote:

Kardeşim türkmüşsün ya sende :D bana mail adresini yazar mısın ben sorunu
biraz çözdüm yardımcı olayım
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/troolee/gridstack.js/issues/584#issuecomment-272084621,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJUUZ-8Zjh76ssCc4ffFspUGhc6E4JRHks5rRcO-gaJpZM4LfzdO
.

I am having a problem using more than 12 columns. I added my comments to a closed issue. I see this one is open.
I used sass to define 24 columns and I also added 24 as width option inside the javascript. The problem is when I move things around, they resize funny and when I drag them, I have to drag beyond where I want to get it to stick in the correct spot.

$('.grid-stack').gridstack({
width: 24,
height: 10,
cellHeight: 20
});
Did you change the width here?

I did. I still had issues until I changed the sass.

Yes, you need to generate a css for non-12-columns grids
Please check this https://github.com/troolee/gridstack.js#change-grid-width

I know this might not be the cleanest snippet! but this is what finally worked for me. using v0.3.0 (I had to use this version due to the overlap problem in v0.4.0
`$gridstack-columns: 24;
@for $i from 1 through $gridstack-columns {
&.grid-stack>.grid-stack-item[data-gs-width='#{$i}'] { width: (100% / $gridstack-columns) * $i;  min-width: (100% / $gridstack-columns) * $i;}
&.grid-stack>.grid-stack-item[data-gs-x='#{$i}'] { left: (100% / $gridstack-columns) * $i; }
&.grid-stack>.grid-stack-item[data-gs-min-width='#{$i}'] { min-width: (100% / $gridstack-columns) * $i; }
&.grid-stack>.grid-stack-item[data-gs-max-width='#{$i}'] { max-width: (100% / $gridstack-columns) * $i; }
}Note: no need to loadgridstack-extra.min.css`


there is no index.html to link to

relates to #493
we will also need to changes to our .htaccess because the snapshot part of the URL is not currently supported either - see https://github.com/apache/incubator-pekko-site/pull/92 for that bit

will close this in favour of https://github.com/apache/incubator-pekko-http/pull/496


Add tests for revoke

This either needs rebasing -- or deleting if whatever was in add-test covers what is here.


No mention of C compliance

Hi,
This page shows a giant detailed list of C++ support, but no C mention.  e.g., C99, C11, etc.  This is incredibly frustrating -- cl.exe is a C/C++ compiler, not just a C++ compiler.  Please update your documentation to include C too.

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

ID: d606e0aa-36fd-97f2-6e65-af0f9b05b24c
Version Independent ID: 207d361a-397e-d687-8828-a152ebc4e572
Content: Visual C++ Language Conformance
Content Source: docs/visual-cpp-language-conformance.md
Product: visual-cpp
GitHub Login: @corob-msft
Microsoft Alias: corob

@smujohnson That's true, we don't say much about later C standards conformance, and this is intentional. MSVC includes a C89/C90 compliant compiler, which is invoked by use of the /TC and /Tc compiler option, or implicitly on files that have a .c extension. Support for later C standards is limited to the subset required by the C++ standard. This includes many but not all C99 language features, and only a handful of new C11 language features. For example, some obvious differences exist in the use of restrict, auto, static, and const; and complex isn't supported as a native type. The UCRT library implements C11 library changes only as they are required for C++17 standard support, with the exceptions noted on this page.
Herb Sutter blogged about MSVC support of the C99 standard (and later) six years ago, and as far as I can tell, it still accurately reflects the compiler team's focus. There's competitive pressure to support current C++ standards, but not so much for C. Therefore, there's been no work done on C standards conformance outside the parts required by the C++ standard, and the documentation reflects that.
Sorry there isn't more to say here. It's possible that if you raise an issue on the C++ Developer Community page, a more up-to-date and definitive statement may be made. If that happens, we'll include the information in the documentation.
If what you really want is support for C11/C17/C18 language features, instead of Visual C++ documentation that tells you exactly which of those features are not supported now, if ever, then there may be one easy way to get later C standards support right out of the box in Visual Studio. Try the Clang/C2 toolset, which can be installed as an option by the Visual Studio Installer. It's experimental and very unlikely to be supported in the next major version of MSVC, but it's there now and it works, generally speaking. It's not documented, but I believe you can pass options to enable C compilation, and get whatever level of support CLang supplies.

No longer accurate:
https://twitter.com/UlziiLuvsanbat/status/1052976061431013377

Argh, twitter says: "Something went wrong. Try again.." on that link :(
ps: C and C++ ISO committees are working together to unify many fundamentals between C++20 and C2x ... MSFT team is I am sure very aware of this ... AFAIK this has started with C99, C++11
some info  is here too https://gustedt.wordpress.com/2018/11/12/c2x/

@DBJDBJ The link works fine for me, but here's a screenshot for posterity and anyone else that can't see it:
https://i.imgur.com/yNwcHDU.png

@MarcusJohnson91  yes it indeed works (now)  ... thanks.
As for the rest: (whoever We are), We are asking the CL support for C to be documented that is all. We do not ask for full C11 or C18 compliance.
What is especially troublesome is the surprises in behavior when using extern "C"  from the CL.  For example: https://stackoverflow.com/q/57431947/10870835
HTH

DBJDBJ, you are absolutely correct.  My initial complaint was that the documentation was vague and you really have to "dig deep" to find specific standard(s) that the C compiler will follow.  Currently it seems it's C89 + a hodgepodge smattering of features from newer C standards in order to make the C++ compiler work.
In contrast, the C++ standards that the compiler supports are very nicely documented in bullet-point form in most documents and thus are easy to find without any ambiguity.

I started my project using msvc build tools 2019. It's been great. It works so well in vscode, and just using the built in tasks.json and c_cpp_properties.json has been great using 'cl.exe'. However I found a feature that the C standard has but msvc does not have, and I'm a little baffled why not? It's 2019, and these are official features. Why would you not update your compiler to support them?

Hey @Blackh0leZ, you mentioned on twitter in Oct. 2018 (linked above) that:

I can't yet to commit to specific date for supporting C11, but it's very likely in one of the VS2019 updates. As soon as we have more details, I'll share here

There's been no news since then - could you maybe give us a status update?

VS 2019 is now (by 22 DEC 2019)  equipped with optional CLANG 9.x  ...which has no problems revealing what is its ISO C conformance level .. through __STDC_VERSION__  of course ...
Still missing from CL ...

As an update: the recently posted roadmap for visual studio mentions "C11 standard conformant preprocessor in MSVC" as "in progress". The roadmap further qualifies [my bold]:

This document provides a peek into the work we have planned for Visual Studio through June 2020. It captures significant capabilities that we are adding, but it's not a comprehensive feature list. [...]

@h-vetinari and this https://devblogs.microsoft.com/cppblog/announcing-full-support-for-a-c-c-conformant-preprocessor-in-msvc/
@corob-msft I do remember the blog post announcing the "almost but not quite" C99 support. I can't find it now (doubly frustrating as it was the first thing in a long time that actually documented exactly what was supported and what was not) but I had the impression from it that increasing C conformance had been the intention at that time.
Sad to see MS has returned to the previous default stance here - especially given the number of IoT related features I see are available in VS 2019... Not sure how MS hopes to profit from the IoT sector without at least some accessible documentation for the MSVC compiler.
I must note also that this approach does not seem very joined up with the recent MS push to make Windows the platform of choice for development, the results of which we are enjoying in the WT, WSL and VS Code.
Such documentation must exist somewhere, to allow MSVS engineers to work with the compilers... Please could you even just publish that somewhere permenent and easy to find, maybe a c-docs repo, similar to the cpp-docs one? The good thing about opening up such documentation in such a way is that you don't need to worry too much about the state it is in, the community can help improve if it needs it.
@everyone else
Short answer: real C support in MSVS has apparently returned to "go look elsewhere". I can recommend VS code in combination with Clang or GCC installed in WSL. Or Eclipse has fairly decent C compiler integration and IDE capabilities. Or perhaps a different platform altogether 🤷♂.
Advice for less experienced C developers that look to MSVC to make project compilation and managent easier is just to learn the CLI tools (make, GCC, clang, gdb, etc), it may be a bit of a ramp up but once you have them under your belt you're freed from such concerns and the more you use them the easier it gets.

What does "full support for a C/C++ conformant preprocessor in MSVC" mean? The article makes it sound like C99?
Of note, the roadmap now shows "C11 standard conformant preprocessor in MSVC" as completed.
But certainly, talking about "full support" should have a C-Standard version attached to it. It would be foolish to hope that they're at C18 already.

Well, clang 9.x inside VStudio 2019 shows clearly what is full 99 support. Was not watching recently but I think they are prety far on C11 support too.
Maybe by adding clang 9.x into VStudio, "they" conclued the calls for full C99/C11 conformance was responded too?
@wolf99 , this is the most relevant person who posted about MSVC C confromance. I can not find that post now.

Good news: After rechecking the roadmap mentioned above and following a few links, C11 & C17 are arriving with Visual Studio 2019 version 16.8 Preview 3.

Good news: After rechecking the roadmap mentioned above and following a few links, C11 & C17 are arriving with Visual Studio 2019 version 16.8 Preview 3.

https://devblogs.microsoft.com/cppblog/c11-and-c17-standard-support-arriving-in-msvc/#comment-1323

Opened a follow-up in #2599.

Ok here is the very recent update about C11/C17. It is a somewhat minimal update though.
What might be very welcome is to see C (not C++) posts on the CL blog. Perhaps and also simply because WIN32 is still an C API :)


M3-287 - Confirmation Dialog component UI test

Added confirmation dialog ui component test

To Test
yarn storybook
yarn storybook:e2e

Tests should all pass

Coverage decreased (-0.07%) to 28.903% when pulling d9c1f9f4940e7231cbd1b7a865aa41ed071fb4ed on patthiel:M3-287 into a73a4d1fc561943ae82417b236c98cd78a88950e on linode:develop.


bug: Multiple Floating Label Inputs are Very Buggy

Short description of the problem:
On an ios device with a long form that makes ion-content long enough to scroll. Focus on a input with floating labels and the input bounces. This does not occur while testing the app in chrome or safari browsers.

Also experiencing weird behavior while scrolling and focused in an input.

What behavior are you expecting?
Normal floating label behavior after the interface has scrolled to the focused input. I think the css transform while scrolling is causing issues.
Steps to reproduce:

Add 10 items to a list with a floating label.
Focus on the elements one after the other from top to bottom.
Run in ios emulator or on ios device.

<ion-header>
  <ion-navbar>
    <ion-title>Title</ion-title>
  </ion-navbar>
</ion-header>

<ion-content>
  <ion-list>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="text"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label floating>Label</ion-label>
      <ion-input type="password"></ion-input>
    </ion-item>

  </ion-list>
</ion-content>

Which Ionic Version? 1.x or 2.x
2.X
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.1.1
Gulp version:  CLI version 1.2.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: 1.8.5
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v6.1.0
Xcode version: Xcode 7.3.1 Build version 7D1014

Here is a test while inspecting the ios simulator/safari and making one of the input elements blue. Notice how it gets pushed down while focus & scroll.

I am also experiencing this issue on my ios device during testing. Everything works fine in browser, but on an emulator or device it causes issues.

Thanks for the issue. This looks like a duplicate of https://github.com/driftyco/ionic/issues/6667, but I was able to reproduce it in mobile Safari.

Great! Thank you and looking forward to the next beta release.

I had this issue, too. While experimenting with scrolling list input on Android, I tried the ionicBootstrap config options scrollAssist and autoFocusAssist.
Setting scrollAssist to true caused your effect and is, as far as I remember, set by default in iOS platform.
See my forum post
There was a good talk from @tlancina about keyboard issues and he basically advises to avoid using long lists - which is unfortunately not always possible.
For me the whole keyboard show/hide/scroll to input/focus input issue is still unsolved (on Android).

I got it reproducible when you focused on input and try to drag it down, it will show 2-line flashing and that only occurs on IOS. When  trying to debug in develop tools on Mac with my iphone, I did see a new class called 'cloned-input' is added to the input and that class is from the app.ios stylesheet from ionic. It is only applicable to floating label so I removed that to avoid the two-line thing, but still bit flashing on input

What was causing the 2-line thing: app.ios.css:
.text-input.cloned-input {
position: relative;
top: 0;
pointer-events: none; }
.item-input:not(.item-label-floating) .text-input.cloned-active {
display: none; }
What I did to fix in my css file:
.item-input .text-input.cloned-active {
display: none !important; }
Hope it helps.

+1

Still having this issue.

This works for me:
.input-cover {   position: static!important; }

+1, @brunoosilva temporary fix resolved the issue for me. Thanks

I'm actually not able to reproduce this anymore using the latest nightly. Could you try installing that and let me know if you still have the issue? npm install --save ionic-angular@nightly

I confirmed that this has been fixed in the nightly, so it will be in the rc.4 release. Thanks!


$cursor pointer only gets data, does not listen to change

hi there,
Testing out v1.0 and writing the article. Found this thing:
var tree = new Baobab({
  projects: {
    '0': {
      title: 'foo'
    },
    '1': {
      title: 'bar'
    }
  },
  currentProjectId: '0'
});

var App = React.createClass({
  mixins: [mixins.root],
  render: function () {
    return (

Hello world - <Child/>

    );
  }
});

var Child = React.createClass({
  mixins: [mixins.branch],
  cursors: function () {
    return {
      project: ['projects', {$cursor: ['currentProjectId']}]
    };
  },
  render: function () {
    return {this.state.project.title}
  }
});

React.render(<App tree={tree}/>, document.body);

setTimeout(function () {
  tree.set('currentProjectId', '1');
}, 2000);

I would expect pointing to a value using a cursor would create a listener on that cursor. In this scenario the component does not update. I have to explicitly add the 'currentProjectId' as a cursor. Is is supposed to work like that?
btw, nice going using context and just inject the tree! Good stuff ;-)

It looks like I did not think this through. I shall fix this erroneous behaviour soon.
If I recall correctly, using context to inject the tree was your idea, wasn't it ;-)?

Sweet :-)
Haha, come to think of it, yeah... I even wrote on article on it! :-D


docs: Precise the abscense of py: Python for the #[pyo3(signature)]

Hi,
First, thank you for working on PyO3!
I think this adds a precision which was not obvious when migrating to 0.18.0 conventions.
What do you think? Also, should something be added to the migration guide in this regard?
Thank you!

Just one thing 🙂
error[E0425]: cannot find function, tuple struct or tuple variant `OK` in this scope
   --> src/lib.rs:561:5
    |
16  |     OK(())
    |     ^^ help: a tuple variant with a similar name exists (notice the capitalization): `Ok`

bors r+

Thank you @davidhewitt ! 🙌


Support for Oracle

3 steps:

Add dialect for Oracle. That should be easy.
Fix reform and/or tests. Should be easy too, and likely not even required.
~The hardest step: add Travis CI integration. Oracle should be provisioned only on builder with specified target.~ We moved to self-hosted Drone CI (#63), so it is easier now.

The first one who will send a working pull request will receive a squishable gopher from me and @GolangShow!

https://github.com/mattn/go-oci8

Seems like driver from @mattn doesn't support LastInsertId, see https://github.com/mattn/go-oci8/issues/78. I've achieved to fetch LastInsertId by using second driver. It looks like this:
stmt, _ := db.Prepare("INSERT INTO person_project (project_id, person_id) VALUES (:1, :2) RETURNING person_id /*LastInsertId*/ INTO :3")
res, _ := stmt.Exec("traveler", 100, 0)
fmt.Println(res.LastInsertId())

So, you have to append RETURNING col /*LastInsertId*/ INTO :n to inserts and pass zero value to this :n placeholder. Is reform ready for such improvements?

There is another problem regarding Oracle Schema Object Names and Qualifiers:

A quoted identifier begins and ends with double quotation marks ("). If you name a schema object using a quoted identifier, then you must use the double quotation marks whenever you refer to that object.
Nonquoted identifiers are not case sensitive. Oracle interprets them as uppercase. Quoted identifiers are case sensitive.
Nonquoted identifiers cannot be Oracle Database reserved words. Quoted identifiers can be reserved words, although this is not recommended.

For example, "employees", "Employees", "EMPLOYEES" are not the same. But employees, EMPLOYEES, "EMPLOYEES" are the same.
And here Reform beats you in a hard way, because it uses "start" as a column name in test data.  And "start" is a reserved word in Oracle. So you cannot name your column as start unquoted, you must use "start".
But Reform cannot use quotes selectively, it will generate queries with "start", "email", "project", or start, email, project. And all of them will fail because of aforementioned Oracle schema name rules.
I see two ways to handle this:

Use only quoted identifiers for Oracle. The drawback - plenty of tests must be rewritten because of hardcode like "INSERT INTO people (id, name, created_at) ..." (unquoted colums here). How this will affect other databases compatibility - who knows.
Do not use quotes for Oracle at all. Rename "start" column to "start_time" (and "end" to "end_time" just in cases). Some tests must be rewritten (like "INSERT INTO projects (id, name, start) VALUES ...") but it will not break compatibility.

@AlekSi, I need a feedback from you for this matter.

I'm not familiar with Oracle at all (I guess not yet… I was unfamiliar with MS SQL too just recently), so I'm not sure I fully understand the current state of last ID problem. Looks like it works with go-oci8 now? In any case, we can extend LastInsertIdMethod with one more type just for Oracle. I think that RETURNING syntax is preferred if it works with non-integer primary keys.

But Reform cannot use quotes selectively, it will generate queries with "start", "email", "project", or start, email, project. And all of them will fail because of aforementioned Oracle schema name rules.

It always generates queries with "start", "email", "project" (at least it should). You mean if a column is named project, it can be accessed as project or "PROJECT", but not as "project"?
A second way is a no-go: it will not allow to use reform with columns named with reserved words. So let's go the first way. Yeah, tests should be changed, but you can change them to work with Oracle, I then change them to work for all systems.

@AlekSi, thanks for reply. I observe some problems here.
1. LastInsertId - solved.
mattn/go-oci8 driver do not suit for that because it implements returning of ROWID (not arbitrary ID field). It can be used as record ID but it shouldn't. For example, if you delete and reinsert a row with the Import and Export utilities, then its rowid may change. If you delete a row, then Oracle may reassign its rowid to a new row inserted later.
rana/oracle driver implements some workaround I've already described. I've add new LastInsertId method "ReturningInto" with some special treatment and it works fine.
2. Quoted columns - solved.
All identifiers are quoted now. Not email, EMAIL or "EMAIL" - just "email". Tests are rewritten from s.q.DeleteFrom(PersonTable, "WHERE email IS NULL") to s.q.DeleteFrom(PersonTable, "WHERE "+s.q.QuoteIdentifier("email")+" IS NULL").
3. Null and empty columns - not solved.
The root of the problem, I think, is that Oracle Database treats a character value with a length of zero as NULL. Current Oracle implementation internally changes empty string to NULL values.
This is a slightly "oraclized" people table (with nullable "email" and "name" columns):
CREATE TABLE "people" (
  "id" integer GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY NOT NULL,
  "group_id" integer DEFAULT 65534,
  "name" varchar2(40),
  "email" varchar2(40),
  "created_at" timestamp with time zone NOT NULL,
  "updated_at" timestamp with time zone
);

It's being filled with non-null and null email:
INSERT INTO "people" ("id", "name", "email", "created_at") VALUES (102, 'Elfrieda Abbott'<EMAIL_ADDRESS>TO_TIMESTAMP_TZ('2014-01-01 00:00:00 00:00', 'yyyy-mm-dd hh24:mi:ss tzh:tzm'));
INSERT INTO "people" ("id", "name", "email", "created_at") VALUES (103, 'Elfrieda Abbott', NULL, TO_TIMESTAMP_TZ('2014-01-01 00:00:00 00:00', 'yyyy-mm-dd hh24:mi:ss tzh:tzm'));

And this test will fail:
func (s *ReformSuite) TestFindAllFrom() {
	structs, err := s.q.FindAllFrom(PersonTable, "name", "Elfrieda Abbott")
	s.NoError(err)
	s.Len(structs, 2)
	s.Equal([]reform.Struct{
		&Person{ID: 102, GroupID: pointer.ToInt32(65534), Name: "Elfrieda Abbott", Email: pointer.ToString("elfrieda_abbott@example.org"), CreatedAt: personCreated},
		&Person{ID: 103, GroupID: pointer.ToInt32(65534), Name: "Elfrieda Abbott", CreatedAt: personCreated},
	}, structs)

Seems like driver returns empty string on NULL "email" value:
- (*models.Person)(0xc420017e50)(ID: 102 (int32), GroupID: 65534 (*int32), Name: `Elfrieda Abbott` (string), Email<EMAIL_ADDRESS>(*string), CreatedAt: 2014-01-01 00:00:00 +0000 UTC (time.Time), UpdatedAt: <nil> (*time.Time)),
- (*models.Person)(0xc420017ea0)(ID: 103 (int32), GroupID: 65534 (*int32), Name: `Elfrieda Abbott` (string), Email: <nil> (*string), CreatedAt: 2014-01-01 00:00:00 +0000 UTC (time.Time), UpdatedAt: <nil> (*time.Time))
+ (*models.Person)(0xc420017d60)(ID: 102 (int32), GroupID: 65534 (*int32), Name: `Elfrieda Abbott` (string), Email<EMAIL_ADDRESS>(*string), CreatedAt: 2014-01-01 00:00:00 +0000 UTC (time.Time), UpdatedAt: <nil> (*time.Time)),
+ (*models.Person)(0xc420017db0)(ID: 103 (int32), GroupID: 65534 (*int32), Name: `Elfrieda Abbott` (string), Email: `` (*string), CreatedAt: 2014-01-01 00:00:00 +0000 UTC (time.Time), UpdatedAt: <nil> (*time.Time))

To be more precise, driver returns NullString or empty string, it's depends on receiver type, see https://github.com/rana/ora/blob/master/defString.go:
func (def *defString) value(offset int) (value interface{}, err error) {
	if def.nullInds[offset] < 0 {
		if def.isNullable {
			return String{IsNull: true}, nil
		}
		return "", nil
	}

There is some discussion and corresponding commits to return nil in this case. So I've just replace return "", nil with return nil, nil. Then I've got this:
--- FAIL: TestInsert (0.02s)
	base_test.go:131: >>> BEGIN
	base_test.go:131: <<< BEGIN 82.476µs
	base_test.go:131: >>> INSERT INTO "people" ("group_id", "name", "email", "created_at", "updated_at") VALUES (:1, :2, :3, :4, :5) RETURNING "id" /*LastInsertId*/ INTO :6 [<nil> (*int32), `` (string<EMAIL_ADDRESS>(*string), 2016-09-06 08:01:23 +0000 UTC (time.Time), <nil> (*time.Time), 0 (int)]
	base_test.go:131: <<< INSERT INTO "people" ("group_id", "name", "email", "created_at", "updated_at") VALUES (:1, :2, :3, :4, :5) RETURNING "id" /*LastInsertId*/ INTO :6 [<nil> (*int32), `` (string<EMAIL_ADDRESS>(*string), 2016-09-06 08:01:23 +0000 UTC (time.Time), <nil> (*time.Time), 0 (int)] 3.084333ms
	base_test.go:131: >>> SELECT "people"."id", "people"."group_id", "people"."name", "people"."email", "people"."created_at", "people"."updated_at" FROM "people" WHERE "people"."id" = :1 AND ROWNUM = 1 [5 (int32)]
	base_test.go:131: <<< SELECT "people"."id", "people"."group_id", "people"."name", "people"."email", "people"."created_at", "people"."updated_at" FROM "people" WHERE "people"."id" = :1 AND ROWNUM = 1 [5 (int32)] 540.537µs
	assertions.go:225:

	Error Trace:	querier_commands_test.go:27

	Error:		Received unexpected error "sql: Scan error on column index 2: unsupported Scan, storing driver.Value type <nil> into type *string"

So, as far as I can understand this driver forces to use NullXYZ types for proper NULL handling. Any ideas how we can cope with that?

mattn/go-oci8 driver do not suit for that because it implements returning of ROWID (not arbitrary ID field).

Absolutely agree, we should not use ROWID as PK.
Are you using RETURNING clause instead of sql.Result.LastInsertId()?

2. Great. Also you may want to use fmt.Sprintf() instead of + when there are many columns.

Oracle Database treats a character value with a length of zero as NULL. Current Oracle implementation internally changes empty string to NULL values.

That's nuts. I will look into this.

In the meantime:

have you looked into adding Oracle to Travis CI?
what is the easiest way to install Oracle to investigate 3?
may you publish you code?

I didn't examine Travis CI integration yet. Right now I use this docker-compose.yml:
oracle12c:
  image: sath89/oracle-12c
  ports: ['1521:1521']

Code is published in https://github.com/dddpaul/reform/tree/oracle.

Forget to mention. To run tests locally you also need sqlplus binary which will be available after Oracle Instant Client install.

One more :) To compile both Go drivers against Oracle Instant Client you need to put [oci8.pc] (https://github.com/mattn/go-oci8/blob/master/oci8.pc) to directory included in PKG_CONFIG_PATH environment variable. Or simple to /usr/lib/pkgconfig.
Links:

Making connections to the Oracle Database from Golang - details for Linux
Accessing an Oracle DB in Go - details for MacOS

@dddpaul We moved to self-hosted Drone CI (#63), so testing with Oracle in Docker is now easier. May you please create a pull request?

@AlekSi I've achived some success with running builds on Travis for another Go & Oracle project. But then I've stumbled with the real show-stopper for Oracle integration. The point is that Oracle drivers require binary Oracle client dynamically. So application user will have to install this Oracle client to run application even if he doesn't need to work with Oracle database at all.
I did not figure out how to deal with that. Maybe distribute multiple binaries or use custom build rules for "go get ...". Do you have any clues about this?

How about build tags?

@AlekSi I think it's reasonable to suggest that Oracle client is installed if ORACLE_HOME environment variable is set. So if this variable is set then build Oracle-enabled reform binary. If not then build binary without Oracle support. I didn't find how to achieve this logic with build tags.

I understand correctly there is no pure Go driver for Oracle?
Neither reform library package, nor reform command depends on drivers. Even dialects are driver-independent. reform-db does import drivers, but we can import them only if some build tag is specified. Tags is the only way to configure build if we want to keep using go get (and we want it). For example, we can do the following for sqlite3 which also requires cgo and may cause problems:
// +build sqlite3

package main

import (
	_ "github.com/mattn/go-sqlite3"
)

So if user needs sqlite3, he/she should install it with go get -u -tags sqlite3 gopkg.in/reform.v1/reform-db.
We can do the same for Oracle.

We now have Docker images from Oracle: https://github.com/oracle/docker-images


Filter clause missing in posted Json

NEST 2.0.0-rc1.
In the automapped class Person (DynamicMapping.Strict) there's a nested field 'CustomProperties' attributed with [Nested(Dynamic = DynamicMapping.Allow)].
Here's a query that fails finding documents where the nested property 'CustomProperties' is missing the field 'customProperties.oddPersonality'.
query = Query<Person>
	.Nested(n => n
		.Path(np => np.CustomProperties)
		.Query(nq => nq
			.Bool(nqb => nqb
				.Must(m => m.MatchAll())
				.Filter(f => f.Missing(m => m.Name("customProperties.oddPersonality"))))));

Generated json (according to hits.ApiCall.RequestBodyInBytes):
{"query":{"nested":{"query":{"bool":{"must":[{"match_all":{}}]}},"path":"customProperties"}}}
Note the absence of 'filter' in the json above.
Simply replacing the fluent '.Filter(...)' row with the raw json will make the query work:
.Filter(f => f.Raw(@"{""missing"": {""field"": ""customProperties.oddPersonality"" } }")))));
Generated json (according to hits.ApiCall.RequestBodyInBytes):
{"query":{"nested":{"query":{"bool":{"must":[{"match_all":{}}],"filter":[{"missing": {"field": "customProperties.oddPersonality"}}]}},"path":"customProperties"}}}
Here the filter clause is included, as expected.
Any thoughts on how I can get the fluent code working?

Hey @ma-hag, There's a small mistake in your fluent query - it should be m.Field("customProperties.oddPersonality"). So it will look like
query = Query<Person>
    .Nested(n => n
        .Path(np => np.CustomProperties)
        .Query(nq => nq
            .Bool(nqb => nqb
                .Must(m => m.MatchAll())
                .Filter(f => f.Missing(m => m.Field("customProperties.oddPersonality"))))));

.Name() is for named queries

Thanks, @russcam!


chore(package): update npm-pkgbuild to version 6.0.15

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[XamlIl] Preserve whitspace

We need a way to preserve whitespaces if needed to be able to define inlines in XAML
For reference: https://docs.microsoft.com/en-us/dotnet/desktop/xaml-services/white-space-processing
If we have something like this:
<StackPanel Orientation="Vertical" Spacing="8">
    <TextBlock>A simple TextBlock with unformatted text.</TextBlock>
    <TextBlock>
        A <Run Classes="code">TextBlock</Run> with <Run FontWeight="Bold">differing</Run>
        <Run FontStyle="Italic">styles</Run> <Run FontSize="24">and fonts</Run>.
    </TextBlock>
    <TextBlock>
        A <Run Classes="code" Foreground="Gray">TextBlock</Run> with <Run Foreground="Red">differing</Run>
        <Run Foreground="Green">colors</Run>.
    </TextBlock>
    <TextBlock>
        A <Run Classes="code">TextBlock</Run> with <Run Foreground="Orange" FontStyle="Italic" Text="{Binding}"/>.
    </TextBlock>
    <TextBlock>
        A <Run Classes="code">TextBlock</Run> with a <LineBreak/> line break.
    </TextBlock>
</StackPanel>

We need to preserve whitespaces. Portable.Xaml was patched to support this by decorating the InlinesCollection with a special attribute.
This is the current result:

Can be tested with: https://github.com/AvaloniaUI/Avalonia/pull/2423

any updates? workarounds?

If anyone will face this problem, here's little trick to force whitespace preserving: use \u200f\u200f\u200e\u0020\u200e instead of regular space (\u0020):

\u200f - Right-to-left mark
\u200f - Right-to-left mark
\u200e - Left-to-right mark
\u0020 - space ( )
\u200e - Left-to-right mark

XAML specification for white space: https://docs.microsoft.com/en-us/dotnet/desktop/xaml-services/white-space-processing
Avalonia also doesn't collapse white space in WPF like WPF does.

See https://github.com/kekekeks/XamlX/pull/43


Framerate drops after last update.

The framerate drops from the hundreds to 20-25 when looking at the monitor, no matter what settings I use or if the target is on ship or not, this issue did not existed on previous versions of the mod.

Do you have a profile code for me to test this with? I haven't experienced anything like that.

Closing this, as it works on my machine and there's been no update.


Incorrect variable type on hover

Describe the bug
The plugin is not correctly identifying the type of a variable.
Expected Behavior
In example code, start should be recognized as type time.Time  (vscode with vlang plugin does) when mouse is hovered over variable.
Current Behavior
start is shown as type any, not time.Time
Reproduction Steps
Enter this into the editor:
import time

fn main() {
    start := time.now()
}

then hover the mouse over the start variable.  It is identified as var start any.
Possible Solution
No response
Additional Information/Context
No response
Environment details (v doctor output)
V full version: V 0.4.6 efa98d9.37f385c
OS: linux, "Manjaro Linux"
Processor: 32 cpus, 64bit, little endian, AMD Ryzen 9 7950X 16-Core Processor

getwd: /home/jalon/git/intellij-v
vexe: /home/jalon/git/v/v
vexe mtime: 2024-05-26 18:57:55

vroot: OK, value: /home/jalon/git/v
VMODULES: OK, value: /home/jalon/.vmodules
VTMP: OK, value: /tmp/v_1000

Git version: git version 2.45.0
Git vroot status: 0.4.6-43-g37f385c9
.git/config present: true

CC version: cc (GCC) 13.2.1 20240417
thirdparty/tcc status: thirdparty-linux-amd64 40e5cbb5

IDE Type (IDEA Community/Ultimate, GoLand, CLion, etc.)
IDEA Ultimate, 241.17011.79
Plugin Version
Vlang-0.0.1-beta.5 (built from Krotki's update_libs_with_coroutines branch)

This should be fixed in version 0.0.1-beta.6.
A reason of this error was lack of support for static functions which lead to wrongly indexing functions.

You were correct.  This is fixed in 0.0.1-beta.6


Add a "reshard_by_split" stage that reshards a MEDS datasets into shards that subdivide splits via metadata/patient_splits.parquet

This is not necessary for most applications, but some applications that want to be able to reliably load entire files while staying within a single split (such as the current implementation of MEDS-Tab) would benefit from this.  This may be best in the current pipeline as two stages; a "sub-shard" stage then a "merge-shards" stage (both of which could be shared/merged with the extract stages of similar name), but I'm not fully sure yet.

The issue in MEDS-tab being blocked by this: https://github.com/mmcdermott/MEDS_Tabular_AutoML/issues/58

This can use extract.split_and_shard_patients.py to come up with the new shards by fixing the patients to the splits defined in metadata/patient_splits.parquet thanks to #124 . These changes may also eventually inform #130.
Additionally, looking at the code, I think that for now the best plan is to have these be separate from the extract.shard_events.py stage and the extract.merge_to_MEDS_cohort.py stage but to generalize the extract.merge_to_MEDS_cohort.py stage's shard iterator function as that can be used here as well.


Blake3Hasher is not a constructor when using in the worker threads

When using Blake3Hasher in the worker threads, I get the following error:
TypeError [Error]: blake_hash_1.Blake3Hasher is not a constructor

This is the fastest blake3 implementation I've ever tested, so multiple worker support would be awesome! Thank you.

Please provide the reproduce codes

I've tested<EMAIL_ADDRESS>with node:16.13.1 and macOS:12.0.1 x64, everything work fine:
index.js
const { Worker } = require('worker_threads')

const worker = new Worker('./worker.js')

worker.on('message', (message) => {
  console.log(message)
})

worker.js
const { parentPort } = require('worker_threads')

const { Blake3Hasher } = require('@napi-rs/blake-hash')

const hasher = new Blake3Hasher()
hasher.update('hello')

parentPort.postMessage(hasher.digest('hex'))

Tested on debian:9 with node:14.18.2, also works fine @sureshvenkata12

Thanks for looking into this. I've been trying to use it in 'ironfish', a blockchain open-source project.
Node 16.13.1 and I've tried in both ubuntu x86_64 and mac arm64. When I call Blake3Hasher outside the worker context, it works though.

@sureshvenkata12 do you have any codes or git branch I can debug?

https://github.com/sureshvenkata12/ironfish/tree/newhash
Checkout "newhash" branch
yarn install
yarn build
./ironfish-cli/bin/ironfish start (you will see the error below)

TypeError [Error]: blake_hash_1.Blake3Hasher is not a constructor
at Object. (ironfish/ironfish/build/src/workerPool/tasks/mineHeader.js:9:19)

In ironfish/build/src/workerPool/tasks/mineHeader.js, the return type of require('@napi-rs/blake-hash-darwin-x64') became {}, an empty object. I don't know why because the start process of ironfish is too  complex.

Do you have any idea what might be the issue? I will look into it deeper if you have any pointers. I've tried napi-rs/canvas package in the worker, it worked well.

@sureshvenkata12 thanks for your investigation, I'll dig into this issue when I have time.

@Brooooooklyn Please try the https://github.com/Brooooooklyn/blake-hash/releases/tag/v1.3.1. It should fix this bug.

v1.3.1 works based on my testing, thanks for the update!

@dguenther btw, how did you find out me trying "blake-hash" for ironfish? I guess, you will incorporate this into the main, and I will not have any advantage over others now :)

It was just a coincidence! We wanted to test a native addon replacement for blake3 to address WASM out of memory issues.

@dguenther You can consider https://napi.rs/ to replace neon in ironfish too. It provides more functionality and is easier to use.


Crash

ffmpeg 6.0 and some newer releases crash converting some files :(

You'll need to be A LOT more verbose about your report.
And that happens only with these builds?


Peer-to-Peer Code Review

Hi @Bennyjoez

Good job implementing the project requirement but there are some changes required

Kindly make the project image container responsive on smaller screens (screen size less than 375px)

Issues fixed and committed.


docs: update badges

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Console doesn't occupy full screen

I see a white line at the bottom of my monitor, image enclosed.

I haven't been able to reproduce this with on NUC. I'll close it for now.