jamf JSON Schema

Can we have a JSON Schema that we can add to Jamf to build a mobileconfig Profile so all config can be done directly in Jamf, that would be ideal for those who don want to edit the local or remote JSON.

https://docs.jamf.com/technical-papers/jamf-pro/json-schema/10.26.0/Understanding_the_Structure_of_a_JSON_Schema_Manifest.html
https://www.jamf.com/jamf-nation/discussions/34839/custom-schemas-for-application-configuration-profiles

I am working on a Jamf JSON Schema, will do a PR when I am finished (will be a couple of days)

Ok, hit a roadblock:
Apparently, custom Schema can not include "date" as a field in the Config Profile.
I cannot find any documentation at Jamf that says otherwise, if anybody knows more about that, let me know!

Oh that's an interesting problem to have. JSON doesn't support date fields, so if you look at the json it's a string. The underlying Swift code converts it to a date.
However the MDM config is a date since plists do support dates.
That reminds me. I should document this in the wiki.

Glad to see someone working on a Jamf manifest for this! The project Jamf has incorporated to add this functionality to Jamf Pro is this one, I believe.
https://github.com/json-editor/json-editor
And that endeavors to follow the JSON Schema spec as much as possible. As @erikng mentioned, JSON itself doesn't support a date/time datatype. The general consensus is to store those values as strings.
https://json-schema.org/specification.html

Will try it out and report back!

Strings do not work as currently coded. I played around with this and came up with: https://github.com/macadmins/nudge/commit/0781b54986efc99b3a2e2ec9e0c70dc8b00b7944 however I will be very honest here in that I'm torn.
Nudge supports JSON format to manage it and it is already being coerced into a Date format, but this is a built in feature of Swift
let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .iso8601

The format we should expect for a plist(mobileconfig) should be a <date>. The jamf team should fix this, but I'm sure it will be a while. Given that this is a "good to have" and not a requirement for managing Nudge with jamf, and that no other MDMs would have this issue, I think we should keep this issue/branch open.
If more jamf users want support for this, then we can discuss it.

@fjprz Thank you! I sent you a first pull request, am trying to structure it a little more (with headers for "OS Version Requirements" and "User Experience" and "User Interface".
But maybe I am thinking too complicated and the easier approach would be to just put everything in one hierarchy.
(it is my first Jamf Schema, so be patient with me :-)

I tried generating the profile that is generated by Jamf, but Nudge does not seem to pick up the Configuration.

I would love @talkingmoose to help spearhead how to support the entire MDM spec within jamf's JSON schema, but I think the only way I can potentially get movement on that is to help make it easier for jamf admins to use my tool.

So, JSON Schema is unlikely to support a date type, which limits what Jamf can do with it.
However, would an effective workaround be something like this?
If an ISO 8601 compliant date/time string is detected, then replace <string></string> tags with <date></date> tags in the resulting plist used to generate the configuration profile.
It might be beneficial to add Nudge to the Jamf Marketplace where it can get additional exposure and generate more awareness of it at Jamf. There's a specific section for "Configuration" where I think it may fit best.

https://github.com/fridomac/nudge-jamf-json-schema/blob/main/Nudge Preferences-Unsigned.mobileconfig

@fridomac https://github.com/fridomac/nudge-jamf-json-schema/blob/main/Nudge Preferences-Unsigned.mobileconfig#L48-L53 these lines should be under the optionalFeatures key and https://github.com/fridomac/nudge-jamf-json-schema/blob/main/Nudge Preferences-Unsigned.mobileconfig#L54-L70 should be under the osVersionRequirements key. It also looks like there's a few more preferences missing, but that may be that you didn't generate those keys in your test.

I've decided to merge #144.
I would love @talkingmoose to help spearhead how to support the entire MDM spec within jamf's JSON schema, but I think the only way I can potentially get movement on that is to help make it easier for jamf admins to use my tool.

So, JSON Schema is unlikely to support a date type, which limits what Jamf can do with it.
However, would an effective workaround be something like this?
If an ISO 8601 compliant date/time string is detected, then replace <string></string> tags with <date></date> tags in the resulting plist used to generate the configuration profile.
It might be beneficial to add Nudge to the Jamf Marketplace where it can get additional exposure and generate more awareness of it at Jamf. There's a specific section for "Configuration" where I think it may fit best.

I like the idea around ISO compliant strings as I believe that's exactly what apple does with JSON strings within Swift. I'll try and work on getting into Jamf Marketplace.

@fridomac https://github.com/fridomac/nudge-jamf-json-schema/blob/main/Nudge Preferences-Unsigned.mobileconfig#L48-L53 these lines should be under the optionalFeatures key and https://github.com/fridomac/nudge-jamf-json-schema/blob/main/Nudge Preferences-Unsigned.mobileconfig#L54-L70 should be under the osVersionRequirements key. It also looks like there's a few more preferences missing, but that may be that you didn't generate those keys in your test.

Yes, there are not all keys there yet. I reworked the Schema to put the preferences in the right keys, and updated the Repo.
Is there a possibility to see every key that Nudge is pulling from the Profile? (already tried Console.app with DEBUG and INFO), which results in the following:

I suspect that Nudge does not like it when the keys are wrapped into an  before the , therefore it thinks the "optionalFeatures" and "userInterface" keys are empty.
Will do more testing around this and report back, have a nice weekend!

There is not a way to see every key in debug or info mode but it does say in that screenshot that keys are empty so that's a key indicator that profile is not configured correctly.
It's interesting that the resulting profile is MCX Forced. That's actually the old style of profiles. The style of profile I create is essentially the same and backwards compatible. That might be a great enhancement for Jamf to resolve but for now makes it incredibly hard for you to compare my profile to yours. :/

Ok, thank you Erik. I noticed that the profiles generated by the JSON Schema are always "MCX Forced". (always reminds me of Profile Manager and the "golden Triangle" with AD and OD).
Will do some more testing and try to compare it as good as I can. The upper part of the Profile with "osVersionRequirements" seems to work.
Bye, Fridolin.

I've decided to merge #144.
I would love @talkingmoose to help spearhead how to support the entire MDM spec within jamf's JSON schema, but I think the only way I can potentially get movement on that is to help make it easier for jamf admins to use my tool.

So, JSON Schema is unlikely to support a date type, which limits what Jamf can do with it.
However, would an effective workaround be something like this?
If an ISO 8601 compliant date/time string is detected, then replace <string></string> tags with <date></date> tags in the resulting plist used to generate the configuration profile.
It might be beneficial to add Nudge to the Jamf Marketplace where it can get additional exposure and generate more awareness of it at Jamf. There's a specific section for "Configuration" where I think it may fit best.

I like the idea around ISO compliant strings as I believe that's exactly what apple does with JSON strings within Swift. I'll try and work on getting into Jamf Marketplace.

Following up on this.
While JSON Schema doesn't support the "date" datatype, it does support a "date" format option that can be added to a property. Its intended use is to validate an ISO 8601 compliant "string" datatype. In the JSON Schema, it would look something like this:
"dateInstalled": {
   "title": "Date Installed",
   "description": "Date Installed.",
   "default": "2018-11-13",
   "format": "date",
   "property_order": 14,
   "type": "string"
},

I've proposed a change internally at Jamf that if this "format": "date" option appears, we convert <string></string> tags to <date></date> tags for the resulting plist and profile. I think that would satisfy everyone's requirements without making implementation very difficult. (I'm not a developer, though, and will never say, "It should be quick and easy to do.")
Development decisions for implementing a new feature or change to an existing feature aren't always made on the basis of completeness or "that's a good idea". (Time, money, quality: pick any two.) I don't currently see a feature request on Jamf Nation for anything like this. Someone from the community should create one and then recruit others to vote it up. Feel free to use the suggestion I've proposed here, if you think it's the best way to implement the feature.

Jamf users on this thread. Please do what @talkingmoose is suggesting. I think his idea is great.

I created a Feature Request on Jamf Nation for this:
https://www.jamf.com/jamf-nation/feature-requests/10232/suppport-date-key-in-jamf-custom-json-schema
Please vote it up, if you care about this!

(crossposted from Slack #nudge):
I did some more work on the Schema, but no key apart from "osVersionRequirements" is honoured.
My current guess is that “osVersionRequirements” is an array and is working, because it is also an array in the examples. The Jamf JSON Schema implementation wraps everything in an array if you do a Key with Sub-Keys. Nudge expects the other Keys with just a  after that, which the Schema does not deliver, therefore it sees them as empty.
Did some more testing, if I remove the enclosing <array> Tags, it is working.
@talkingmoose Is there a possibility to make JAMF Pro leave out these tags?

@fridomac @fjprz I have created my own initial version of the jamf json schema for Nudge. Before I go into setting defaults and adding more items, I'd like someone else to check it. It looks good on my end.
https://github.com/macadmins/nudge/commit/53255ee12042ee7b4ac81d1a0b8218d6a220a179

Will do so first thing tomorrow morning!
Bye, Frido.

Am 23.03.2021 um 16:12 schrieb Erik Gomez @.***>:

@fridomac @fjprz I have created my own initial version of the jamf json schema for Nudge. Before I go into setting defaults and adding more items, I'd like someone else to check it. It looks good on my end.
53255ee
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Looks good so far; the osVersionRequirements are coming up empty at the moment, but I assume that's because you are still adding stuff.

Try now. :)

Confirmed with a few users that it's working as expected and I'm also happy with it looking at my jamf instance. If any other have issues come up, please file a new github ticket.

@erikng Does your latest update workaround @fridomac's Jamf Feature Request Suppport "Date" Key in Jamf Custom JSON Schema ?

Indeed it does, but as soon as Jamf works on that, I'm reverting that code.

Thank you @erikng, works here, too. Now I just have to find out what I did wrong in my Version!


No render because of hardcoded paths/names in "CameraToPoints"? :(

Hello! I don't know if this will be seen or not but I really hope so, this toolset seems awesome - but current state breaks it for me!
I see that the cam needs to be named "cam1" since any other name will not show anything in the CameraToPoints image, as soon as it's changed back to "cam1" from any other name the image updates and is back. This makes multi-shot scenes really hard/cumbersome to work with, can I do some tweaking to this in the objects_to_render python sop or something? I don't know much about coding but I'd love to have this working with any camera name!!!!!
This brings us to point number two about the "CameraToPoints" SOP. Whenever objects are in any other state than default "Obj/Geometry node/AnyEditableGeo" it breaks again and doesn't show anything. So subnets, FBX imports, Alembics Archive, none of these work unless extracted or otherwise manipulated to become the structure from above. Is there ANY chance in the world that this can be fixed as well? The above one with the "CameraToPoints" cam naming is MUCH more important though, would be awesome to have a fix for that! <3

UPDATE: Ok, so when I opened up another scene it indeed worked with a custom name on the camera. But it seems random as to when it works and when it doesn't work. So maybe there is something I am missing in naming/hierarchy of the camera? :P


go get golang.org/x/vgo fails

What version of Go are you using (go version)?
$ go version
go version go1.10.1 linux/amd64

What operating system and processor architecture are you using (go env)?
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/draugen/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/draugen/workspaces/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build155255789=/tmp/go-build -gno-record-gcc-switches"

What did you do?
$ go get golang.org/x/vgo

What did you expect to see?
Nothing, expected go get to finish with success.
What did you see instead?
$ go get golang.org/x/vgo
# runtime
/usr/local/go/src/runtime/mstkbar.go:151:10: debug.gcstackbarrieroff undefined (type struct { allocfreetrace int32; cgocheck int32; efence int32; gccheckmark int32; gcpacertrace int32; gcshrinkstackoff int32; gcrescanstacks int32; gcstoptheworld int32; gctrace int32; invalidptr int32; sbrk int32; scavenge int32; scheddetail int32; schedtrace int32 } has no field or method gcstackbarrieroff)
/usr/local/go/src/runtime/mstkbar.go:162:24: division by zero
/usr/local/go/src/runtime/mstkbar.go:162:44: undefined: stkbar
/usr/local/go/src/runtime/mstkbar.go:183:23: undefined: cgocallback_gofuncPC
/usr/local/go/src/runtime/mstkbar.go:212:4: gp.stkbar undefined (type *g has no field or method stkbar)
/usr/local/go/src/runtime/mstkbar.go:213:15: gp.stkbar undefined (type *g has no field or method stkbar)
/usr/local/go/src/runtime/mstkbar.go:216:23: undefined: stackBarrierPC
/usr/local/go/src/runtime/mstkbar.go:226:28: gp.stkbarPos undefined (type *g has no field or method stkbarPos)
/usr/local/go/src/runtime/mstkbar.go:227:19: gp.stkbarPos undefined (type *g has no field or method stkbarPos)
/usr/local/go/src/runtime/mstkbar.go:248:41: undefined: stkbar
/usr/local/go/src/runtime/mstkbar.go:227:19: too many errors

Your error looks a lot like #22141.
Can you go build any program at all?


[WIP, do not merge] Add a tool to package python function apps

Issue: #132

@elprans running the pack tool on this requirements.txt
azure-functions==1.0.0a1
azure-functions-worker==1.0.0a3
cycler==0.10.0
grpcio==1.12.1
grpcio-tools==1.12.1
kiwisolver==1.0.1
matplotlib==2.2.2
numpy==1.14.5
protobuf==3.6.0
pyparsing==2.2.0
python-dateutil==2.7.3
pytz==2018.5
six==1.11.0

results in this error
Traceback (most recent call last):
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/metadata.py", line 731, in __init__
    self._data = json.loads(data)
  File "/home/ahmed/anaconda3/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/home/ahmed/anaconda3/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/home/ahmed/anaconda3/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "../packapp/pack.py", line 208, in <module>
    main()
  File "../packapp/pack.py", line 36, in main
    find_and_build_deps(args)
  File "../packapp/pack.py", line 118, in find_and_build_deps
    wheel.install(paths, maker)
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/wheel.py", line 642, in install
    dist = InstalledDistribution(p)
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/database.py", line 555, in __init__
    metadata = Metadata(fileobj=stream, scheme='legacy')
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/metadata.py", line 742, in __init__
    scheme=scheme)
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/metadata.py", line 284, in __init__
    self.read_file(fileobj)
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/metadata.py", line 384, in read_file
    self.set_metadata_version()
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/metadata.py", line 290, in set_metadata_version
    self._fields['Metadata-Version'] = _best_version(self._fields)
  File "/tmp/packapp/pack_venv/lib/python3.6/site-packages/distlib/metadata.py", line 166, in _best_version
    raise MetadataConflictError('Unknown metadata set')
distlib.metadata.MetadataConflictError: Unknown metadata set

This bug is fixed in the unreleased distlib version.
pip install -U 'git+https://github.com/vsajip/distlib.git@15dba58a827f56195b0fa0afe80a8925a92e8bf5' helps

yep, that worked. Thanks @elprans

is it safe to just always run that pip install on the user's venv?


This page information is misleading

MFA is not supported by AVD and this conditional access policy says otherwise. Please confirm, because it is misleading. This does not work, the conditional access policy should be to exclude users from this policy if MFA is not supported by AVD

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

ID: 6d1666c5-5bed-be10-287e-0ce6b1c1432a
Version Independent ID: 65db01a7-bb49-aece-b464-df819e73fecd
Content: Azure multifactor authentication for Azure Virtual Desktop - Azure
Content Source: articles/virtual-desktop/set-up-mfa.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@luisnjuarez
Thanks for the feedback! We are currently investigating and will get back on this.

@luisnjuarez
Azure Virtual Desktop supports MFA.
If you are not experiencing this, then this has to be checked from environment/setup side. As this is not a document related issue, I would recommend to open a support case to get your issue checked by support team.
Hope that helps.


I want simple Line graph with Axis

I want simple Line graph with Axis but here Line Chart is available but no axis available for this chart

I agree.  In this plugin you can only add labels to points. You are not able to create normal charts with axes with custom scales on these axes.

Are there any plans on adding axes? This is a very crucial feature for a plotting package.

looking into including this. There's some conflicts, and I've requested benoitjadinon attempt to handle them so I don't break something.

I am also highly interested in this feature!

I am also highly interested in this feature too!

Do you mean something like this skia-chart

Do you mean something like this skia-chart

I'm higly considering to move to Skia-chart


Add meta tags for twitter and facebook

Closes #914
TODO:

[ ] image generation for blog posts

To create the social cards we can use https://weasyprint.org/
Template:

@artcz can you have a look at this commit? https://github.com/EuroPython/epcon/pull/930/commits/49df118084f3cd85dbe85d661ce222931fc88580
I think we need to update the seed data that we have, the talk I'm using for test doesn't have a name for the speaker

@patrick91 looks ok; as a small nitpick I'd probably put a view in a separate module, like 'conference/social_cards.py`; for the name of the speaker – it should be the same what AssopyUser.name() returns.


License

We should have a license on this repo. I was thinking CC-BY for the text, etc, and BSD/MIT for the code. Any thoughts?

I agree with both - these are the most open choices. I don't have a preference regarding MIT/BSD - they are compatible in any case and the difference between both are marginal.

I agree with both CC-BY and I am open to either MIT/BSD


fix: cache key is not same between Invalidate and  Render Request fro…

example url  : https://www.careline.com.tw/CareLineTravel/activity
Reproduce steps :

send a  render request through middleware

cache key

send a invalidate request through middleware

cache key

My solution

make the cache key is same between render and invalidate request

@googlebot I signed it!

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!


Add MUI theme config to fix Sidebar and Tabs color

Which issue(s) does this PR fix

Fixes  https://issues.redhat.com/browse/RHIDP-1165 ,  https://issues.redhat.com/browse/RHIDP-1164

Selected Tab (dark theme)

Tab when hovered (dark theme)

Selected Tab (light theme)

Tab when hovered (light theme)

Nav when hovered (light theme)

Nav when hovered (dark theme)

/cc @ShiranHi
/cc @jerolimov

Thank you @debsmita1!, I have few comments

Tabs (I compared the screenshots with the design here)
I think we don't display the gray background color when hovering over the tab or when it's selected

The tabs component that you see being used in plugins is a Backstage’s HeaderTab component
 and the hover color is the same as the background color of the app.
    tabRoot: {
      '&:hover': {
        backgroundColor: theme.palette.background.default,
        color: theme.palette.text.primary,
      },
    },

Navigation (I compared the screenshots with the design here)
We shouldn't display the underline below the text when hovering

Similarly, the nav component is Backstage's SidebarItem component and there's no prop available that allows removing the underline

In dark mode, the blue color appears brighter. We use the same main color in both scenarios, both for the tab line color and the blue line on the navigation

Fixed it, using '#0066CC' as mentioned in the slide

The tabs component that you see being used in plugins is a Backstage’s HeaderTab component
 and the hover color is the same as the background color of the app.

Can we do the same? so the hover color will be the same to the background?

Similarly, the nav component is Backstage's SidebarItem component and there's no prop available that allows removing the underline

I am not sure why we have that underline on the navigation when hovering, on the Backstage demo env they don't show any underline when hovering

This looks really good!  The only thing that's bugging me is the border line under the tabs, for both light and dark it there's a margin on the left-hand side leaving a space but on the right-hand side of the page there's no space.  I tried capturing a more narrow window to help highlight this:

This looks really good! The only thing that's bugging me is the border line under the tabs, for both light and dark it there's a margin on the left-hand side leaving a space but on the right-hand side of the page there's no space. I tried capturing a more narrow window to help highlight this:

Shows up better in dark mode and I think maybe the border color could be too bright in this variant also:

@gashcrumb  The HeaderTab component adds this padding on the left
const useStyles = makeStyles(
  theme => ({
    tabsWrapper: {
      gridArea: 'pageSubheader',
      backgroundColor: theme.palette.background.paper,
      paddingLeft: theme.spacing(3), <--------
      minWidth: 0,
    },
    ...

and the createUnifiedTheme util doesn't expose any option to add spacing

@gashcrumb The HeaderTab component adds this padding on the left
and the createUnifiedTheme util doesn't expose any option to update the spacing

I don't know if maybe trying to override it using something like this could work, but if you like this could be investigated later as a separate thing.

@gashcrumb The HeaderTab component adds this padding on the left
and the createUnifiedTheme util doesn't expose any option to update the spacing

I don't know if maybe trying to override it using something like this could work, but if you like this could be investigated later as a separate thing.

This worked! Thank you @gashcrumb !!

looks good @debsmita1 ! 🙂

Thanks @jerolimov
@debsmita1 PTAL at open comments and would be nice if we could handle those in the same PR. LMK

/approve

/retest

/lgtm
it was just update with main branch


Use DSS for land aux state

We're seeing problems with water conservation in the coupler when snow is included in a simulation. We see that water is conserved when input evaporation is a uniform field, but large errors arise when evaporation varies randomly across space. In the land model, DSS is currently applied to the prognostic variables, but not to the auxiliary state p. We think that the incorrect water content calculations may be due to this lack of DSS.
MWE

The MWE below can be run from the coupler to recreate this issue:
Results:

# uniform:
# julia> extrema( @. diff_PE + diff_WL) = (-5.684341886080802e-14, 2.842170943040401e-14)
# random:
# julia> extrema( @. diff_PE + diff_WL) = (-127.08222748551799,<PHONE_NUMBER>3691425)

Script:

import SciMLBase: step!, ODEProblem, solve, SSPRK33, savevalues!, init
using ClimaCore: Fields, Spaces
using ClimaCoupler: TestHelper
import Thermodynamics as TD
using ClimaComms
using Dates

FT = Float64
Δt_cpl = FT(200)

space = TestHelper.create_space(FT)
include("components/land/bucket_init.jl")
include("components/land/bucket_utils.jl")

test_sim = bucket_init(
    FT,
    FT.((0, 432000)),
    "sphere",
    "map_static",
    ClimaComms.SingletonCommsContext(),
    ".";
    dt = Δt_cpl,
    space = space,
    saveat = FT(3600),
    area_fraction = ones(space),
    date_ref = DateTime("19790101", dateformat"yyyymmdd"),
    t_start = FT(0),
);
test_sim.integrator.u.bucket.W .= FT(0.482052)
test_sim.integrator.u.bucket.Ws .= FT(0)
test_sim.integrator.u.bucket.σS .= FT(-4.45e-322)
test_sim.integrator.u.bucket.T .= FT(275.0)

test_sim.integrator.p.bucket.P_liq .= FT(0.0)
test_sim.integrator.p.bucket.P_snow .= FT(0.0)
uniform = ones(space)
random = zeros(space)
parent(random) .= rand(FT, (4,4,1,96))
#evap = test_sim.integrator.p.bucket.evaporation .= random
evap = test_sim.integrator.p.bucket.evaporation .= uniform
precip = test_sim.integrator.p.bucket.P_liq .+ test_sim.integrator.p.bucket.P_snow

test_sim.integrator.p.bucket.R_n .= FT(-186.145)
test_sim.integrator.p.bucket.T_sfc .= FT(305.55)
test_sim.integrator.p.bucket.q_sfc .= FT(0.0286255)
test_sim.integrator.p.bucket.ρ_sfc .= FT(1.20363)
test_sim.integrator.p.bucket.α_sfc .= FT(0.0749572)
test_sim.integrator.p.bucket.turbulent_energy_flux .= FT(161.888)

WL_0 =<EMAIL_ADDRESS>test_sim.integrator.u.bucket.W + test_sim.integrator.u.bucket.Ws + test_sim.integrator.u.bucket.σS)

step!(test_sim.integrator, Δt_cpl, true)

WL = @. test_sim.integrator.u.bucket.W + test_sim.integrator.u.bucket.Ws + test_sim.integrator.u.bucket.σS
diff_WL = @. (WL - WL_0 )
diff_PE = @. (precip + evap) * Δt_cpl # bucket evap needs to be m3/m2 /s

extrema( @. diff_PE + diff_WL)

Alternative solutions

The Bucket model is column-wise (i.e. no horizontal exchanges), which also may contribute to incorrect results when running a simulation with non-uniform evaporation

@LenkaNovak @kmdeck tagging for visibility

@simonbyrne Does this potential explanation of the bug make sense to you? Are we meant to apply DSS to both the prognostic variables and aux/cache state?

The requirement is that any tendencies are continuous: that is, at any two colocated points, you get the same result.
For horizontal tendencies, we do this by calling DSS, for vertical tendencies and sources we do this by ensuring all inputs are continuous (so the result will also be).
If you're filling a field with random values, there is no guarantee of continuity, so any tendency computed from this may not be. So I would suggest DSS-ing the field after calling rand to ensure it is continuous.

Closing because we don't actually need to implement this


there is no gen_image_ops.py file

from tensorflow.python.ops import gen_image_ops
I want to see the code about non_max_suppression,but it in gen_image_ops,but I don't find it ,so where is the file?

You can find the non_max_suppression code here : tensorflow/python/ops/image_ops_impl.py

So, the gen_* files used in python are essentially the bridge between the C++ definition and the tf code invoked and interpreted from python land.
I am fairly sure that you would end up generating those files if you did a full build of tensorflow. They are I believe, generated at build time and auto-generated.
Here are some pointers that might be helpful:
C++ op registration: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/ops/image_ops.cc#L714
C++ op definition:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/non_max_suppression_op.cc#L282
C++ op compute base function (probably what you want):
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/non_max_suppression_op.cc#L127

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


fix(push): track onClose Atmosphere events to properly reconnect and resubscribe

Adds a new status to track if the channel was closed and trigger reconnection callback only once, but on different events, as the event chain is different according to how the connection disruption happens.
Detected chains are:
onClose => onReconnect => onReopen
onClose => onOpen

Fixes #2834.
Fixes #2841.

Everything looks good
The only thing I am wondering is if this scenario is correct:
if the subscription reconnect is set to REMOVE or empty, and then the connection closes. The Atmosphere will try to reconnect so the subscription state will be CONNECTING until reOpen when the state will be set to CLOSED.
(onClose => onReconnect => onReopen scenario)
As a developer, I wouldn't understand why subscription connection is not just closing but connecting and closing.

As a developer, I wouldn't understand why subscription connection is not just closing but connecting and closing.

Good point, but I don't know how to solve it: the reconnection callback is a function and we haven't the right to call it just to get the return value. So we can't know its value before running it, and to run it we need to reconnect first.


DataGrid Improvements

Summary
A couple things changed here:

When the 'fill' prop is not set, the horizontal scroll synchronization and custom horizontal scrollbar are unnecessary. I've updated the markup in that case to remove those elements and make things more efficient.
The row striping was using an nth-child selector, which could be influenced by the presence of a section header. I've made the row striping API explicit and implemented it on a per-section basis, so rows should be more visually consistent.
A few event handlers were being set when they didn't need to be. I added checks around them to make sure only only the necessary handlers are being executed.
In some circumstances, the header cells were rendering with a 2px offset (due to the presence of the bottom border on their container). I moved the border styles around to ensure proper alignment.

Not much has changed functionally, but the wdio screenshots got hit pretty hard due to the row striping and header cell offset changes.

Functional verification complete.  Data Grid appears to be working as designed with the new enhancements.  Significant performance improvement noticed for vertical scroll behavior on IE compared with other implementations.  Horizontal scroll remains delayed.  Hover behavior for the cells is slightly delayed as well (IE only). No new issues identified.


SceneQueryRunner: decouple time range comparisons

Prior to this commit, SceneQueryRunner had special handling for
SceneTimeRangeCompare objects, explicitly searching for them in the
scene graph, adding additional queries, and transforming resulting
queries. This made it difficult to re-use the general behaviour of
'running additional queries' in other objects.
This commit introduces a new interface, SceneRequestAdder, which
can be implemented to inform the query runner that it should run
additional requests (returned by getExtraRequests) and transform the
results in some fashion.
Instead of searching the graph for SceneTimeRangeCompare objects,
the query runner searches for implementors of SceneRequestAdder
and uses those instead. The specifics of how it searches for these
is a little bit fuzzy and should probably be improved: it walks up the
graph until it finds at least one adder at the current level or in
any children of the current level; adds any others at that level
or in the children; then returns.
SceneTimeRangeCompare has been refactored to make use of this new
interface. I've also got a separate object which also implements
it which is working well including when both are enabled.
Relates to this Slack thread.

@sd2k I think this looks interesting, sorry for late review. so much going on now with dashboard => scenes migration, and a customer project. We will try to review this in depth shortly, I think with some minor refactoring and name changes it looks overall promising / close, but I just did a very quick code scan

@sd2k I think this looks interesting, sorry for late review. so much going on now with dashboard => scenes migration, and a customer project. We will try to review this in depth shortly, I think with some minor refactoring and name changes it looks overall promising / close, but I just did a very quick code scan

No worries, it's not urgent, just wanted to make sure it didn't fall too far off the radar 👍
I'll try and add an example of how this can be used somewhere so it's a bit less abstract.

FYI I've added an example of using this to the scenes-baseliner branch branch along with a demo, should be easy to run but you'll need to use a version of Grafana with https://github.com/grafana/grafana/pull/82299 merged in to load the plugin correctly since it depends on a WASM module.
I don't think that'd necessarily make it into the core repo since it's quite heavyweight but it's a decent example!

One thing I bumped into while using this in other projects was that I can't see a way to turn off the extra SceneRequestAdders per-query runner. For example, in the live demo above the ScenesBaseliner runs for the various histogram panels as well as for the time series panels, but it can't really do much in those cases.
I imagine the solution would be to have a separate embedded scene with the baseline controls or something, but it might be nice to be able to say 'this SceneRequestAdder should only run for these queries' somehow 🤔

Hey @torkelo, do you think you (or someone else) will have time to take a look at this in the next week or so? Happy to walk through it if you like.

@sd2k sorry, it's a bit of a bad time now with G11 / GrafanaCon crunch.

I've tried to come up with some better names for the things I wasn't happy with ('adder' because it kinda sucks, and 'transform' because it's overused). The new names are maybe slightly better?
The best way to test this out, if anyone's interested, is to check out the Baselines demo in the demo app in the downstream scenes-baseliner branch which makes use of this PR to provide a second control similar to the time range comparison.

@sd2k - I' really sorry for the late review, but your PR (#745) made me realise i forgot about this one.
Overall - I'm in favor of proceeding with this one, as opposite to #745 which literally invites inheritance over composition.

Agreed :+1: I think the main concerns I had were the introduction of even more interfaces and concepts to the library but I'll make sure they're documented.

I can't see of any objections why we would not accept this refeactor, it's a good idea that I've been thinking when first implementing the time range comparison.
The minor thing I'm missing is generalised test for supplementary requests - all tests right now are performed in the context of time range comparison so they don't neessarily show the idea behind the supplementary requests when going through spec.

Understood, I'll try and add something to this effect.

Also, please condsider my rename suggestion.

:100: - I much prefer yours!

One side note: in another branch I've been exploring actually using this functionality with some implementations of SceneRequestSupplementer that run some ML algorithms on the secondary requests. The controls for the components allow the user to adjust things like the confidence interval and other hyperparameters of the ML algorithms. When the user changes those, we need to rerun the processors, but we don't always need to rerun the queries.
My solution to this has been to change the shouldRerun method to return an object like { query: boolean; processor: boolean }, which the implementation can use to tell the query runner whether it should rerun the query and the processor or just the processor. This is pretty essential for some UXs like this:
https://github.com/grafana/scenes/assets/5464991/37039288-1d00-44c9-a64c-24c55f7ed8d0
since otherwise the query would need to be reissued every time the processor wanted to rerun.
I mention this because I don't want to lock us into a specific API in SceneRequestSupplementer if/when I try to upstream those changes (in a separate PR). The options I see are:

Keep the current signature (shouldRerun(prev, next): boolean) in this PR, and don't ever allow implementations to specify which of query/processor to run
Keep the current signature (shouldRerun(prev, next): boolean) in this PR, and if we allow queries/processors to run separately, release an API-incompatible change by changing the signature to shouldRerun(prev, next): { query: boolean; processor: boolean; }
Keep the current signature (shouldRerun(prev, next): boolean) in this PR, and if we allow queries/processors to run separately, release an API-compatible change by changing the signature to shouldRerun(prev, next): boolean | { query: boolean; processor: boolean; }, which is a bit more complex but possibly easier for basic use cases
Switch the signature to either shouldRerun(prev, next): { query: boolean; processor: boolean; } or shouldRerun(prev, next): boolean | { query: boolean; processor: boolean; } now.

Sorry for the long response, I've spent quite a bit of time working on this other branch the last few days! :smile:

One side note: in another branch I've been exploring actually using this functionality with some implementations of SceneRequestSupplementer that run some ML algorithms on the secondary requests. The controls for the components allow the user to adjust things like the confidence interval and other hyperparameters of the ML algorithms. When the user changes those, we need to rerun the processors, but we don't always need to rerun the queries.

I see. But I'm wondering if you really need a processor for this implementation. What if you implemented the processor as a custom transformation (https://grafana.com/developers/scenes/transformations#add-custom-transformations) and attach a behaviour to it, that would react to the controls changes and call reprocessTransformations ? It's a bit more complex, but it would keep the interface of the SupplementaryRequestProvider simpler and actually focused on query execution.

I added a draft of how an alternate API for shouldRerun could look with the reprocessing handled by the query runner, in case it's interesting :slightly_smiling_face:


Broken profile icons for bots without using gravatar

Due to privacy, we have disabled Gravatar on our self-hosted Zulip installation. Using Zulip in webbrowser the Welcome Bot is displayed using a fallback image like

But on mobile (Android app V 27.191) the image for the Welcome Bot is totally broken

Is there any way to fix this on side of server, i.e. is there a way to set a custom profile image for the Welcome Bot?

Thanks @wurst-hans for the report!
Chat thread here, with some debugging: https://chat.zulip.org/#narrow/stream/48-mobile/topic/Broken.20profile.20icons.20for.20bots.20without.20using.20gravatar.20.23M5502/near/1441438


Impossible to save a dummy variant for background

Ultimate goal: run ZABAPGIT in background, as explained in https://github.com/larshp/abapGit/blob/master/docs/guide-regular-backup.md
The issue is at step 9.
Symptom/to reproduce: run ZABAPGIT

Click Save to create a variant:

In the screenshot above, is the beginning of the issue, as the variant screen is not displayed.
Anyway, try to Save the variant:

Description must be entered, but it's impossible.
I also tried to create the variant with other standard possibilities, but no way.

It must have worked one day, but with the latest version, impossible to make it work. Could somebody search the origin of the regression? Or maybe it's me, I don't know.

I tried to find the origin but it seems to have worked this way (not worked) for years. So maybe it's not a bug but there's something obvious I didn't see.

SE38 doesn't work for you? This screen?

It says to use SE38 to create the variant in step 9.
But if you can fix it so it is possible to just use the save button in the report I am all for it 👍

I also used SE38 previously

Yes I have this screen, but then can you create it?

Select all screens and Continue

Back

Yes

Save

Etc.

Yeah it worked a while ago. I checkout out an old branch (roughly 3 months old) and there it works. So it seems that we broke this recently.

Ah well, seems like I am not up to date then (sry @sandraros )
It still worked on 1.70.0, if that's any help.

@flaiker I'm currious to see the screenshots at the time of 1.70.0 ? (i.e. what we should make it look like again)

I updated my abapgit installer report to the latest build and did a comparison. The only things different is that there now is a horizontal scrollbar that is always visible and serves no purpose.

I guess I found the root cause. If these lines are removed one can maintain the variant in SE38/SA38 again.
https://github.com/larshp/abapGit/blob/578640f84407bb420fef4eea4bba86dd8879b25b/src/zabapgit_forms.prog.abap#L129-L134
They were introduced with https://github.com/larshp/abapGit/commit/ff4d1268568f02e1d7ea5b9b46a4f0ad83517684
I think we can remove these lines and the focus method. I vaguely remember that the html control sometimes lost the focus, but I'm no longer able to reproduce it.

@sandraros try again, latest version

@larshp It works as before now - not ideally though as it doesn't work from the SAVE button in ZABAPGIT main screen, only from SE38 + button Variants. Below is the way it works now, for future references.
Create the variant (here named "BACKGROUND"):

Then schedule the job periodically for program ZABAPGIT and variant BACKGROUND, with SE38 or SM36 as usually.


Allow FormRequest having new Middleware's affected parameters on vali…

Because for some reason FormRequest seems not to be affected by the new TrimStrings and ConvertEmptyStringsToNull middlewares, all() function need to merge self request before getting all parameters to have trimmed and nulled parameters on validation.

The middlewares work fine for me on form requests. I am unable to recreate the bug.

It works fine for me as well, unable to recreate.

Ok I found the error, FormRequest are unaffected by middlewares when is a json request. I was testing using axios and vue and parameters seems not the be affected by middlewares, common requests are fine as you say.

Fixed by patch.


Make sure the default Target is Global when calling process_ext_events

ExtEventSink::submit_command was before when using with Target::Auto not calling the Widget Controllers. This behaviour was before implementing Target::* expected to happen.
(As discussed in zulip. This change was suggested by @cmyr )

I think this change makes sense, but it is in conflict with the documentation on ExtEventSink, so that should be updated.

Now I'm trying to remember what the rationale is/was here. Can this not be global for some reason, like that we're using the window's idle handler to notify of the event?

Closed in favor of #1215


【Proposal】New 'room-invite' event

Use case description
A friend send a room invitation to the user, the user needs to click on the card, open up a page, then click the button on the page to join the room.
Design proposal
We could add one room-invite event emitted when we receive the invitation from a user. It might looks like this:
public emit(event: 'room-invite', roomInvitation: RoomInvitation): boolean

And here is the definition of RoomInvitation:
export interface RoomInvitation {
  roomName: string,
  fromUser: string,
  timestamp: number,
  accept: () => Promise<boolean>
}

The reason that I wrapped several arguments into one object is that accepting the invitation is a complicate operation, I would like to keep this logic away from our developers, so provide a function to them so when they want to accept the invitation, just do invite.accept(), then they will be added into the room.
Request for comments, let me know if this works.

@zixia What do you think about this proposal? If you think this is good to go, I will try to submit a PR later.

I have another suggestion.  I suggest adding a new Message type RoomInvitaion in MsgType
.on('message', function (message) {
  if (message.type() === bot.Message.Type.RoomInvitation) {
      message.accept()
  }
})

@zixia How do you think about this

@lijiarui Please discuss it with @windmemory, and put what you both are thinking right to your RFC.

I listen to @windmemory

Okay, after a fierce discussion on this issue, we decide to use room-invite event. :)
Will submit PR later.

@windmemory Thank you very much for your workable prototype with the c9 runnable environment.
After I study your code, I had made some changes on both wechaty-puppet in your PR, and the wechaty code base so that it can support the room-invite event.
Please update your dependency to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>or above, then you will be able to continue implementing the room-invite in wechaty-puppet-padchat.
Please feel free to let me know if you have any problems with the integrations in your development.

@zixia Thanks for adding related changes in wechaty and wechaty-puppet.
I noticed that you declare a PuppetRoomInviteEvent in wechaty-puppet with following format:
export interface PuppetRoomInviteEvent {
  inviterId : string,
  roomId    : string,
}

I would like to point out that, when an invitation is sent along, there is no roomId in the payload, here is a sample payload:
{
  "msg": {
    "appmsg": {
      "appid": "",
      "sdkver": "0",
      "title": "邀请你加入群聊",
      "des": "\"高原ོ\"邀请你加入群聊Wechaty Developers' Home 2，进入可查看详情。",
      "action": "view",
      "type": "5",
      "showtype": "0",
      "soundtype": "0",
      "mediatagname": {},
      "messageext": {},
      "messageaction": {},
      "content": {},
      "contentattr": "0",
      "url": "http://support.weixin.qq.com/cgi-bin/mmsupport-bin/addchatroombyinvite?ticket=AVs3velIDxTkA0EOhKogxg%3D%3D",
      "lowurl": {},
      "dataurl": {},
      "lowdataurl": {},
      "appattach": {
        "totallen": "0",
        "attachid": {},
        "emoticonmd5": {},
        "fileext": {},
        "cdnthumbaeskey": {},
        "aeskey": {}
      },
      "extinfo": {},
      "sourceusername": {},
      "sourcedisplayname": {},
      "thumburl": "http://weixin.qq.com/cgi-bin/getheadimg?username=42e4fc96ae9472a2063bbabbe1cfbddbe3b59b105d1d59c217099cb8f3441f95",
      "md5": {},
      "statextstr": {}
    },
    "fromusername": "lylezhuifeng",
    "scene": "0",
    "appinfo": {
      "version": "1",
      "appname": {}
    },
    "commenturl": {}
  }
}

So how should I deal with the roomId here? If I generate a random id, seems not acceptable, but I can not return null or undefined here, maybe an empty string?

Please see friendship event implementation, they are very similar.

Unfortunately, they are not the same for this case. I saw in friendship event, it is using fromusername as the contactId, that is completely reasonable for friendship event, because the one who send out the request is the one that we are going to be added.
However, for room-invite event, the fromusername is the person who send out the invitation, not the room. There is no roomId here. The only thing we have here is the roomName, which can be parsed from the des field. But I don't think we want to return roomName as the roomId to developer, that would cause confusion to them.

From the raw message that we received from protocol, there is no roomId information, only roomName is available. Maybe we could try to get the roomId with the roomName, but that might not work either, since roomName is not unique.

And actually I think we don't need the roomId before we emit the event, I saw in the interface of wechaty-puppet , event room-invite has a callback with roomInvitationId as argument. And the InvitationId could be the msgId, so we don't actually need the roomId before we emit the event.

Ok, if we do not have roomId with the invitation, it's ok. I'll remove it form payload later.

I would suggest to have a roomName in the payload, so our developers would be able to do something with the name, like filter the room name to decide whether they want their bot to join.

Now you got roomName as your request.
I had also added two more to the payload:

roomMemberCount, total member number of the room, which should be able to extract from the invitation;
roomMemberIdList, the Wechat will show whether you have friends in this room; if so, the invitation will show the names of your friends, which can be translated to the contact id by Contact.find(). If you have any problem of getting the contact ids, you can just set it to an empty array []

export interface RoomInvitationPayload {
  id               : string,
  inviterId        : string,
  roomName         : string,
  roomMemberCount  : number,
  roomMemberIdList : string[],   // Friends' Contact Id List of the Room
  timestamp        : number,     // Unix Timestamp, in seconds
}

I had refactored the code without depending the room id, and published them as<EMAIL_ADDRESS>&<EMAIL_ADDRESS>Please upgrade and feel free to let me know if there has any problems with the implementation.
Hope we can use the room-invite soon!

@zixia Thanks for refactor the code in wechaty-puppet and wechaty. I think the feature will be available later today.
The way we accept the invitation in iPad protocol is slightly different from the way we are doing on our phone, so there is no roomMemberCount or roomMemberIdList in the payload. We are not opening the invitation like we do on phone, but use that url to get another url with the iPad protocol api. So currently I will return back empty value for roomMemberCount and roomMemberIdList.

New version of wechaty-puppet-padchat has implemented the room-invite event.
Please use version 0.9.0 or above to use this feature.
Close this ticket. If anything wrong happened with the new event, please file issue here


LC0005 doesn't work in XmlPost

LC0005 doesn't check the fieldelement in an XmlPort.
tableelement(Item; Item)

I would expect an warning for the two item lines (200, 212)

Thank you reporting this and should now be resolved in the (pre)release version of v0.30.20 of the LinterCop.

Version v0.30.20 of the LinterCop is now released.


Introduce a RepresentsStructure interface for declarations that represent structures

This would "heal" the problem, that we only have a generic Declaration here. https://github.com/Fraunhofer-AISEC/cpg/blob/0c160342b0f88416fad6a66d9dbe96b192dc6c32/cpg-library/src/main/java/de/fraunhofer/aisec/cpg/passes/scopes/StructureDeclarationScope.java#L46

Obsolete, since we do not have these properties in the scope anymore.


Dev 9406

DEV-9406
Testing Steps

Run editor
Create bar chart with single series
In series settings, change rank by value to the different options and ensure they sort the x axis point appropriately
Return to data import tab, then back to configure and ensure setting remains

Self Review

I have added testing steps for reviewers
I have commented my code, particularly in hard-to-understand areas
My changes generate no new warnings
New and existing unit tests are passing

Screenshots (if applicable)

Additional Notes

@mpallansch can you see @joshlacey 's comments on this one?


Set Duckdb extensions install directory

Error duckdb.IOException: IO Error: Failed to create directory \"//.duckdb\"!\n
is shown when computing duckdb index.

Codecov Report
Patch coverage has no change and project coverage change: -6.12 :warning:

Comparison is base (b988e21) 90.13% compared to head (480b126) 84.02%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1439      +/-   ##
==========================================
- Coverage   90.13%   84.02%   -6.12%
==========================================
  Files         191       37     -154
  Lines       11462      995   -10467
==========================================
- Hits        10331      836    -9495
+ Misses       1131      159     -972

Flag
Coverage Δ

jobs_cache_maintenance
?

jobs_mongodb_migration
84.02% <ø> (ø)

libs_libcommon
?

services_admin
?

services_api
?

services_worker
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 154 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.

114	DUCKDB_INDEX_EXTENSIONS_DIRECTORY = "/tmp/duckdb-extensions"

you can set it to None by default I guess


Add kotlin language server support

Added support for the following unofficial Kotlin language server:
https://github.com/fwcd/KotlinLanguageServer
I used languageserver as the ALE internal name, let me know you prefer another name since this is an unofficial project and not a Language Server released by JetBrains themselves. An (unlikely) official Language Server release by JetBrains would probabily supersede this unofficial project
Referenced by issue #1701

Cheers! :beer:


WIP: Session expiry constants added

TP-2000-683/686
Why
The recent Pen Testing on TAP highlighted an issue with our session length and login/out controls. After doing some digging, we found that the login/out controls don't work for those using envs that have Staff SSO switched on. This is due to Staff SSO only signing a user out once a week (rumoured), due to the quantity of apps that it signs you into (G-Suite, all DIT apps, other stuff..). As we have no control over auth on Tap, we've decided to hide the logout controls for those envs that have SSO implemented.
For the app's sessions, I've added some settings which reduce the length of the session, in order to combat security issues. I've added a session cookie age of 40 minutes, a setting to kill the session on browser close, and a setting to save every request. In combination, these session settings refresh a user's session cookie age every time they make a request, but after 40 minutes of being idle, the session cookie will go stale and be renewed on spit up again. Whenever a user closes the tab running tap, it'll also be killed. This should mitigate any security risks related to having an everlasting session /session cookie.
What

Log in and out controls have been hidden behind an SSO_ENABLED flag. If staff sso is on, you wont see them. We need to keep this functionality though for scenarios where we need to log out on dev spinups that don't have sso enabled like localhost.

SESSION_SAVE_EVERY_REQUEST
has been set to true so that all data made in a request get the cookie age timer refreshes
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
has been set to kill the session when the browser is closed
SESSION_COOKIE_AGE = 40 * 60
has been set to expire the session cookie after 40 minutes.
Checklist

Requires migrations? no
Requires dependency updates? no

Codecov Report
Base: 91.69% // Head: 91.69% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (f73ea61) compared to base (8ffcebe).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #827   +/-   ##
=======================================
  Coverage   91.69%   91.69%
=======================================
  Files         397      397
  Lines       26118    26120    +2
  Branches     1977     1977
=======================================
+ Hits        23949    23951    +2
  Misses       1784     1784
  Partials      385      385

Impacted Files
Coverage Δ

settings/common.py
75.54% <100.00%> (+0.26%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@LaurenQurashi are SESSION_SAVE_EVERY_REQUEST and SESSION_EXPIRE_AT_BROWSER_CLOSE settings used in the sso library? we don't need to do anything extra and the library just handles it?


Issue 173

This PR represents the first of two problems in issue 173. In this commit I have implemented a function on polyline to determine the quadrant that the line falls into based on the angle, and based on that angle I reverse the polyline when rendering the text label.

Okay, guys :). The latest commit should have resolved our outstanding concerns. Thank you for being so supportive of my first open-source & rust contribution :)

Awesome work, thank you! I made a small formatting adjustment (wrapped docstrings to 100 columns and removed extra newline), but other than that, good to go -- merging!

Do you need me to make a separate issue slash hint about the curved SVG labels readability?

I think we can treat it as a new thing to consider for 173
On Fri, Mar 25, 2022, 1:35 PM Zireael07 @.***> wrote:

Do you need me to make a separate issue slash hint about the curved SVG
labels readability?
—
Reply to this email directly, view it on GitHub
https://github.com/a-b-street/abstreet/pull/885#issuecomment-1079034620,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMWLF75RVQ62MGWXBMCHL3VBW6JBANCNFSM5RPMOQIQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


nodeos,cleos,keosd command not found

I have installed EOSIO successfully on Mac OS but I still can not run eos commands,
how to fix it?
cd build/programs/nodeos here where I'm running the commands

what did you use? Docker or build script

I have done this step before and still not working

The following tests FAILED: 29 - nodeos_run_test (Failed) 30 - nodeos_run_remote_test (Failed) 31 - distributed-transactions-test (Failed) 32 - distributed-transactions-remote-test (Failed) 33 - restart-scenarios-test_hard_replay (Failed) Errors while running CTest Makefile:119: recipe for target 'test' failed make: *** [test] Error 8

build script was without error?

@liderako
make install
[  1%] Built target binaryen
[  4%] Built target passes
[  4%] Built target wasm
[  5%] Built target support
[  5%] Built target ast
[  5%] Built target asmjs
[  6%] Built target cfg
[  6%] Built target eosio-s2wasm
[  6%] Built target emscripten-optimizer
[ 10%] Built target fc
[ 11%] Built target test_cypher_suites
[ 11%] Built target builtins
[ 32%] Built target softfloat
[ 32%] Built target chainbase
[ 32%] Built target chainbase_test
[ 32%] Built target Platform
[ 32%] Built target Logging
[ 32%] Built target IR
[ 33%] Built target Runtime
[ 33%] Built target Emscripten
[ 34%] Built target WASM
[ 34%] Built target WAST
[ 34%] Built target eosio-wast2wasm
[ 35%] Built target wavm
[ 35%] Built target Test
[ 35%] Built target Disassemble
[ 36%] Built target eos_utilities
[ 37%] Built target appbase
[ 37%] Built target appbase_example
[ 39%] Built target eosio_chain
[ 39%] Built target eosiolib
[ 77%] Built target libc
[ 79%] Built target libc++
[ 80%] Built target eosio.bios
[ 81%] Built target eosio_testing
[ 81%] Built target abi_generator
[ 82%] contract...
[ 82%] Built target copy_skeleton_contract
[ 83%] Built target simple.token
[ 83%] Built target eosio.token
[ 83%] Built target eosio.msig
[ 83%] Built target eosio.sudo
[ 84%] Built target multi_index_test
[ 85%] Built target eosio.system
[ 85%] Built target identity_common
[ 86%] Built target identity
[ 87%] Built target identity_interface
[ 87%] Built target identity_test
[ 88%] Built target stltest
[ 88%] Built target test_exchange
[ 88%] Built target exchange
[ 88%] Built target test.inline
[ 89%] Built target hello
[ 89%] Built target asserter
[ 90%] Built target infinite
[ 90%] Built target proxy
[ 91%] Built target test_api
[ 92%] Built target test_api_mem
[ 92%] Built target test_api_db
[ 92%] Built target test_api_multi_index
[ 92%] Built target test_ram_limit
[ 93%] Built target noop
[ 94%] Built target dice
[ 95%] Built target tic_tac_toe
[ 95%] Built target payloadless
[ 95%] Built target chain_plugin
[ 95%] Built target bnet_plugin
[ 95%] Built target http_client_plugin
[ 95%] Built target producer_plugin
[ 95%] Built target net_plugin
[ 95%] Built target http_plugin
[ 95%] Built target net_api_plugin
[ 95%] Built target chain_api_plugin
[ 95%] Built target producer_api_plugin
[ 95%] Built target history_plugin
[ 95%] Built target history_api_plugin
[ 96%] Built target wallet_plugin
[ 96%] Built target wallet_api_plugin
[ 96%] Built target txn_test_gen_plugin
[ 96%] Built target db_size_api_plugin
[ 96%] Built target mongo_db_plugin
[ 96%] Built target login_plugin
[ 96%] Built target nodeos
[ 96%] Built target cleos
[ 96%] Built target keosd
[ 96%] Built target eosio-launcher
[ 96%] Built target eosio-abigen
[ 96%] Built target deferred_test
[ 98%] Built target unit_test
[ 98%] Built target plugin_test
[100%] Built target print_floats
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/eosio/etc/eosio
CMake Error at cmake_install.cmake:44 (file):
file INSTALL cannot set permissions on "/usr/local/eosio/etc/eosio"

You don't have any commands or bin?

Last login: Thu Jul 26 18:34:17 on ttys000
Nazims-MacBook-Pro:~ nazimfaour$ /Users/nazimfaour/eos/build/programs/cleos/cleos ; exit;
ERROR: RequiredError: Subcommand required
Command Line Interface to EOSIO Client
Usage: /Users/nazimfaour/eos/build/programs/cleos/cleos [OPTIONS] SUBCOMMAND
Options:
-h,--help                   Print this help message and exit
-u,--url TEXT=http://<IP_ADDRESS>:8888/
the http/https URL where nodeos is running
--wallet-url TEXT=http://<IP_ADDRESS>:8900/
the http/https URL where keosd is running
-r,--header                 pass specific HTTP header; repeat this option to pass multiple headers
-n,--no-verify              don't verify peer certificate when using HTTPS
-v,--verbose                output verbose actions on error
--print-request             print HTTP request to STDERR
--print-response            print HTTP response to STDERR
Subcommands:
version                     Retrieve version information
create                      Create various items, on and off the blockchain
get                         Retrieve various items and information from the blockchain
set                         Set or update blockchain state
transfer                    Transfer EOS from account to account
net                         Interact with local p2p network connections
wallet                      Interact with local wallet
sign                        Sign a transaction
push                        Push arbitrary transactions to the blockchain
multisig                    Multisig contract commands
sudo                        Sudo contract commands
system                      Send eosio.system contract action to the blockchain.
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

What's wrong? You've commands. Use ./Users/nazimfaour/eos/build/programs/cleos/cleos etc ..

This is the problem:
Nazims-MacBook-Pro:~ nazimfaour$ cd eos
Nazims-MacBook-Pro:eos nazimfaour$ cd build
Nazims-MacBook-Pro:build nazimfaour$ cd programs
Nazims-MacBook-Pro:programs nazimfaour$ cd cleos
Nazims-MacBook-Pro:cleos nazimfaour$ cleos
-bash: cleos: command not found
Nazims-MacBook-Pro:cleos nazimfaour$ cleos create wallet
-bash: cleos: command not found

cleos is not a command, you need use ./cleos

if you want, used cleos you'll  need add alias)
#NODEOS
alias nodeos=YOURPATH/build/programs/nodeos
#CLEOS
alias cleos=YOURPATH/build/programs/cleos
#KEOSD
alias keosd=YOURPATH/build/programs/keosd
#EOSIOCPP
alias eosiocpp=YOURPATH/build/tools/eosiocpp

@Nazeim regarding this build error:

CMake Error at cmake_install.cmake:44 (file):
file INSTALL cannot set permissions on "/usr/local/eosio/etc/eosio"

Did you try sudo make install instead of make install?
@liderako I think running sudo make install on the build folder creates all the alias you need.

when I'm trying to run this command:
./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --contracts-console
I get this result:
2018-07-26T15:55:32.935 thread-0   wallet_plugin.cpp:42          plugin_initialize    ] initializing wallet plugin 2018-07-26T15:55:32.940 thread-0   se_wallet.cpp:286             check_signed         ] Application does not have a valid signature; Secure Enclave support disabled 2018-07-26T15:55:32.944 thread-0   http_plugin.cpp:344           plugin_initialize    ] configured http to listen on <IP_ADDRESS>:8888 2018-07-26T15:55:32.945 thread-0   chain_plugin.cpp:271          plugin_initialize    ] initializing chain plugin 2018-07-26T15:55:32.946 thread-0   chain_plugin.cpp:580          plugin_initialize    ] 13 St13runtime_error: database dirty flag set rethrow database dirty flag set:      {"what":"database dirty flag set"}     thread-0  chain_plugin.cpp:580 plugin_initialize 2018-07-26T15:55:32.947 thread-0   main.cpp:118                  main                 ] database dirty flag set (likely due to unclean shutdown): replay required

it's just a nightmare

@Nazeim your database dirty)

Your database is dirty. Very likely because of a non-graceful shutdown previously (you might need to give more timeout to your docker stop).
Try to replay it and fix irreversible blocks by adding the following args --replay --fix-reversible-blocks
#4829

sudo make install does not currently install to a location in the default path in most distributions.  Instead, it installs to /usr/local/eosio/bin.  This is expected to be corrected in a later release.  You can edit your path in the current terminal session to allow you to run commands as you expect:
export PATH=$PATH;/usr/local/eosio/bin
To make the change permanent, add it to your ~/.profile.
echo 'PATH=$PATH:/usr/local/eosio/bin/' >> ~/.profile
source ~/.profile

@jgiszczak @liderako
I still have the same problem, I can not Launch a Single Node Testnet,
is it necessary to deploy the smart contract or not ?

I solved the problem and now the testnet is Running.
but I got another error while trying to set a contract:
I'm doing it locally not in docker
./cleos set contract eosio build/contracts/eosio.bios -p eosio@active
Reading WAST/WASM from build/contracts/eosio.bios/eosio.bios.wast...
Error 3160009: No wast file found
Error Details:
no wast file found build/contracts/eosio.bios/eosio.bios.wast

The path in the tutorial is a relative path.  You need to be in your eos directory for it to work as written.  If you ran it from build/programs/cleos, as it appears you are, you need to modify it as follows:
./cleos set contract eosio ../../contracts/eosio.bios -p eosio@active

@Nazeim , it seems the original issue is solved, so you could close the issue now.


Neutralize country name

Use less ambiguous name.

I'm not really sure what the political ramifications of this change are...
However as "Taiwan, Province Of China" does not appear on the Taiwan Wikipedia page it seems to be a sensible change.

Yup, coding-wise, it's easier to implement shipping and currency logic, since Taiwan use different country destination and currency to China. This change will avoid potential problem of confusion.


Append entity names and ids to original

I'm finding it inconvenient to have the default naming scheme of "Adaptive Lighting [setting]: [name]" and switch.adaptive_lighting[_setting]_[id]. I prefer "[name] Adaptive Lighting [setting]" and switch.[id]_adaptive_lighting[_setting], as these sort to be just below the controlled entity in the entity lists, keeping them visually grouped together. Also makes it easier to remember their names when referencing them in yaml. Manually renaming all these after creating each integration instance is annoying.
Could you please add a global option to generate names and ids in this way, as an alternative to the default scheme?

This was added in 1.7.0


Cleaning (missing commit from master into develop)

Just to have to have the two branchs at the same level


Cluster inside hook function

Cluster inside hook function. Therefore, we need to pass to the func the simulationRunner and the epoch we are in.

I'm guessing you want to keep decreasing the threshold and reclustering until more than one cluster is found, if so, you need to pass i+1 and not i, otherwise it will miss the last epoch (and not recluster in epoch 0)

The index is changed to i+1 and the hook function it's been modified consequently. Here you have the Hook func, can you have a look whether everything is fine or not? Thx
Hook Func
hook.txt


Loading patch for the wrong tab crashes the editor

If I save a patch from Digitial Synth 1 and load it in Digitial Synth 2 there is no problem since they use the same parameters.
But if I load the same patch in Drums, the application will exit silently.
Submitting this just so it is known. Not an important issue for me.

Fixed in 22185c4
@Zalastax v0.2.1 will come in a few minutes.


opponent pit messages spam in iracing

need to establish the underlying cause of this. I've forced the app to wait 40 seconds before repeating an opponent pit message but this is only hiding the issue

this might be an issue in the underlying datasource. The current app simply disables opponent pit messages for 40 seconds after playing one. Perhaps we could do this on a per-opponent basis

meh


Regenerated bindings for b43 with callback types fixed.

I regenerated the bindings from the v1.0.0-beta.43 tag. Callback definitions now work fine.
focusVisible is not present in v1.0.0-beta.43 (it was added in master after b43).

Thank you, published it as v0.1.7  as it should be okay with the latest changes.


Update Performance.md

Pushing 225k msg/s now in QoS 0

BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.3447/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1260P, 1 CPU, 16 logical and 12 physical cores
.NET SDK 8.0.101
  [Host]     : .NET 8.0.1 (<IP_ADDRESS>001), X64 RyuJIT AVX2
  Job-EYKSZI : .NET 8.0.1 (<IP_ADDRESS>001), X64 RyuJIT AVX2

InvocationCount=1  LaunchCount=10  RunStrategy=Monitoring
UnrollFactor=1  WarmupCount=10

Method
QoSLevel
PayloadSizeBytes
ProtocolVersion
Mean
Error
StdDev
Req/sec

PublishAndReceiveMessages
AtMostOnce
10
V3_1_1
4.453 μs
0.5012 μs
1.478 μs
224,583.72

PublishAndReceiveMessages
AtLeastOnce
10
V3_1_1
24.358 μs
0.8365 μs
2.466 μs
41,054.14

PublishAndReceiveMessages
ExactlyOnce
10
V3_1_1
39.245 μs
3.0092 μs
8.873 μs
25,480.94

Same machine as my last benchmarks.

Should probably wait to re-test this until after https://github.com/petabridge/TurboMqtt/pull/110 has been addressed


Static site generator using obelisk

Every javascript framework has its own way to build static site. They simply use npm packages, like marked or highlight.js. Since we have pandoc and also I remember seeing @dalaing work which utilize Static (or Obelisk.Generated.Static) and Pandoc, is there any plan to make it easier for user who want to build static site using obelisk?

Thanks for asking! There are no plans to do this. If you have any specific ideas please open as new issues/PRs.

This project seems to try be an attempt at solving this problem: https://github.com/srid/reflex-stone

I recently converted an Obelisk site (which was previously dynamic but no longer needs to be) to be static with a simple executable and Nix derivation. I'll paste the relevant snippets here.
main :: IO ()
main = do
  for_ staticRoutes \route -> do
    html <- renderFrontendHtml mempty mempty encodeFrontendPath route frontend blank blank
    let path = makeRelative "/" $ T.unpack $ encodeFrontendPath route
    let filePath = if ".html" `T.isSuffixOf` (T.pack path)
          then path
          else path </> "index.html"
    createDirectoryIfMissing True $ takeDirectory filePath
    BS.writeFile filePath html

The exact way the .html paths are created may depend on what static hosting system you're using.
The Nix derivation just runs this binary, which is added as an Obelisk package in default.nix:
let
  obelisk = import ./. {};

in obelisk.obelisk.nixpkgs.stdenv.mkDerivation {
  name = "static-site";
  dontUnpack = true;
  buildPhase = ''
    mkdir -p $out/static
    cd $out
    ${obelisk.ghc.generate-static}/bin/generate-static
    cp -r ${obelisk.passthru.processedStatic.symlinked}/* $out/static/
  '';
  dontInstall = true;
}

If someone is interested, this could probably be abstracted to be reusable since the only way it really depends on the project details is via staticRoutes.


Fix inconsistency between K8s context switcher and Settings page

Signed-off-by: MUzairS15<EMAIL_ADDRESS>Description
This PR fixes #6163
Notes for Reviewers

Signed commits

[x] Yes, I signed my commits.

@asubedy @Chadha93 we're in need of having portions of the Docs troubleshooting toolkit published into Meshery Docs Troubleshooting Guide.

@MUzairS15 let's discuss this PR on the Meshery Dev call today.

@asubedy @Chadha93 we're in need of having portions of the Docs troubleshooting toolkit published into Meshery Docs Troubleshooting Guide.

@asubedy Will you open an issue on this?

https://github.com/meshery/meshery/issues/6196 issue already exist


Bug in Phase Shift?

As an example
        x3 = np.arange(10*528*528*48).reshape(10, 528, 528, 48)
        X3 = tf.placeholder("float32", shape=(10, 528, 528, 48), name="X")# tf.Variable(x, name="X")
        Y3 = PS(X3, 3, color=True)
        y3 = sess.run(Y3, feed_dict={X3: x3})

this works fine when the second arg to PS is, say, 4, but it chokes when it's 3
  File "/home/user/Dev/subpixel/model.py", line 75, in build_model
    self.G = self.generator(self.inputs)
  File "/home/user/Dev/subpixel/model.py", line 191, in generator
    h2 = PS(h2, 3, color=True)
  File "/home/user/Dev/subpixel/subpixel.py", line 21, in PS
    Xc = tf.split(3, 3, X)
  File "/home/user/Dev/subpixel/subpixel.py", line 9, in _phase_shift
    X = tf.reshape(I, (bsize, a, b, r, r))
  File "/home/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2166, in reshape
    name=name)
  File "/home/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 748, in apply_op
    op_def=op_def)
  File "/home/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2405, in create_op
    set_shapes_for_outputs(ret)
  File "/home/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1790, in set_shapes_for_outputs
    shapes = shape_func(op)
  File "/home/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1696, in _ReshapeShape
    (num_elements, known_elements))
ValueError: input has 44605440 elements, which isn't divisible by 2509056

Any ideas?

i also get similar error . i  think the PS function has bug ,mostly because the shape of output is not match with ground truth's.
so i  only test the author's subpixel.py   like this ---
python subpixel.py
get error:
Tensor("Squeeze:0", shape=(), dtype=int32)
Traceback (most recent call last):
File "subpixel.py", line 31, in
Y = PS(X, 2)
File "subpixel.py", line 24, in PS
X = _phase_shift(X, r)
File "subpixel.py", line 10, in _phase_shift
X = tf.reshape(I, (bsize, a, b, r, r))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 1092, in reshape
name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 411, in apply_op
as_ref=input_arg.is_ref)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 566, in convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/constant_op.py", line 179, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/constant_op.py", line 162, in constant
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.py", line 332, in make_tensor_proto
_AssertCompatible(values, dtype)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.py", line 272, in _AssertCompatible
(dtype.name, repr(mismatch), type(mismatch).name))

Your input Image is of the shape 10 x 528 x 528 x 48 and you have mentioned that you are expecting a color image (of channels 3). Since each channel is done separately, the input to the phase_shift operator is evenly split into 3 parts along the last dimension and each part will be 10 x 528 x 528 x 16dimension. But the last dimension must be r2 since r is the factor by which each spatial dimension is upscaled. Thus it works only for PS(X3, 4, color=True) and will give you an output of 10 x 2112 x 2112 x 3
If you want to upscale by a factor of 3, then the input must be 10 x 528 x 528 x 27 which will be passed as 10 x 528 x 528 x 9 for each of the three channel separately (and also notice 9 == 32 - for a scaling factor of 3) and you will get an output of 10 x 1584 x 1584 x 3
In general if input is bs x a x b x 3c and if color is True, you can only use a factor of r such that r == sqrt(c) and you will get an output of bs x ar x br x 3. The operator is just a shuffling operator and the number of elements cannot change after the operation.

@IMG-PRCSNG

But the last dimension must be r2 since r is the factor by which each spatial dimension is upscaled.

Then there is a typo in README
In numpy, we can write this as

def PS(I, r):
  assert len(I.shape) == 3
  assert r>0
  r = int(r)
  O = np.zeros((I.shape[0]*r, I.shape[1]*r, I.shape[2]/(r*2)))
...

Should that be O = np.zeros((I.shape[0]*r, I.shape[1]*r, I.shape[2]/(r**2)))?

@BrianOn99 Yes. It must be r**2 as the total number of elements (N x H x W x C) in both the input and output must be same.


Add integration tests

Adds integration tests to CI.
Splits examples and unit tests into two separate CI tasks.
Tools required to run the integration tests:

ccm python script used by tests to manage database instances
simulacron.jar used by some tests. Currently tests assume that this file is in ~/  directory. (It's possible to change the directory to something else: maybe ~/.local/lib/?

Some of the tests were removed due to lack of consistency or just because they don't work. Currently there is:

436 passing tests from category short
12 passing tests from category long

Additionally I wasn't able to do other things related to integration tests. For this reason I created following issues: #45 #44.
Probably there should be also other issue addressing currently removed tests.
(I will squash the history of this PR after review)

ccm python script used by tests to manage database instances

I advice using https://github.com/scylladb/scylla-ccm for best ScyllaDB compatibility.

simulacron.jar used by some tests. Currently tests assume that this file is in ~/  directory. (It's possible to change the directory to something else: maybe ~/.local/lib/?

Maybe we could keep the simulacron in our repo? Or at least provide a script that automatically fetches it for use in tests, to some directory local to the driver's repo.

Probably there should be also other issue addressing currently removed tests.

Definitely!
You can try the sub-issues mechanism for that. You create a task list, like this:

[ ] task1
[ ] task2

And then you can just click "convert to issue" next to each task. This way you quickly create an umbrella issue and its children.

ccm python script used by tests to manage database instances

I advice using https://github.com/scylladb/scylla-ccm for best ScyllaDB compatibility.

Well. Using this instead of the ccm solves the problem mentioned in #45, bu causes other tests to fail. I will look into...

This means that we have a check on CI verifying that the Rust part has been recompiled for the PR's current JS contents.
Is it a question whether we have such step or a request to add it?

Examination of further tests is TODO(@wprzytula). Realistically, I'll have time to examine them in December. Not to block this PR, I suggest marking clearly every disabled test and opening an issue for me to investigate them. I suggest having those tests under some specific non-run function instead of them commented out.

Ref: #43


How to make tab header labels that flex and don't wrap?

I'm trying to use TabNavigator to create tab labels of different widths. I don't want the label text to wrap onto more than one line, and I don't want the label to ellipsify.
When I provide tabBarLabel as a static field on my screen and I assign it to a string, a long tab label will wrap to multiple lines:

If I assign tabBarLabel to a function that returns a Text component with numberOfLines={1}, the text doesn't wrap, but it does ellipsify:

I want the text to stay on one line and for the tab to grow to accommodate the label text. I've tried playing with the tabStyle and labelStyle keys in tabBarOptions, but haven't found a solution. How can I make this work?

You can supply your own tabBarComponent that renders custom tabs.

Thanks for the reply @matthamil -- I looked into passing a custom tabBarComponent, but saw that the TabBarTop component uses TabBar from the react-native-tab-bar lib, and I was hoping there'd be a way to solve this issue without recreating all of the functionality in that library.
Do you have any suggestions on what the custom component would look like in order to solve this issue?

@stevengoldberg u can just truncate the long text of tab like following:
navigationOptions: {           tabBarLabel: originText.length>10 ?             originText.substr(0, 8).concat('…') :             originText,         }

Hi, how about making it responsive! I have 4 tab and even though each is labeled with one word, yet it gets wrapped on a smaller screen size, is there a way to go about this ?

I also really like to know how to accomplish this. The main thing about the dynamic width is not about the label container, but the indicator on the bottom. I peek into the default component and the current calculation (for the position, animation, etc) is based on static tab width. So in order to implement this is you need to extend the component and replace all those methods with your own. Surely this is gonna be exhausting.

I am also facing the same issue. The tab labels are getting wrapped on smaller screen. Kindly help.

I also applied ellipsizeMode:'tail' and numberofLines:1 in labelStyle but nothing happened.

@stevengoldberg did you solve this issue ?

You can specify your own renderLabel prop in tabBarOptions, or make the tab bar scrollable with scrollEnabled: true. But note that Material design guidelines recommend breaking the label into multiple rows instead of hiding a part of it https://material.io/guidelines/components/tabs.html#tabs-content. If you need to hide part of the label, maybe you should have a smaller label, because otherwise, it's difficult for the user to know what's in the tab when part of the label is hidden.

Any solution to this??? Stuck on this for days :disappointed:

Any progress on this?? Please share


Add install instructions for Ximper Linux

Packages of the Hyprland ecosystem are available in Ximper Linux.
It is planned to create a separate build based on this window manager in the near future.

I am unsure if ximper is significant enough to be worth putting into the already cluttered installation combo

I am unsure if ximper is significant enough to be worth putting into the already cluttered installation combo
Isn't it important for hyprland developers to work with the community?
I think every distribution is important

The installation combo may be cluttered but we can split it into multiple pages.

fair neough


different color for visited links

It would be nice to customize the color of visited links, a:visited

I almost misread this and was going to say it is already possible to change the color of links.
You are absolutely correct, that would be good to have. I will add a css var for that.

sorry for the delay on this, it is now completed, by default I set the value to be the same as the normal links, so it won't be obvious in the demo.
My take on it is that it kinda makes some pages/links look messy... for instance the tags, however I am not a color expert, so maybe another color would have looked fine.
The css variable is there now and available for customization in the override file:
https://github.com/Jieiku/abridge/blob/1ceb421f09f8a5fbd639382a4e4dbccd4584744e/COPY-TO-ROOT-SASS/abridge.scss#L84
If you have any other feedback regarding this issue just leave me a comment here.


[BUGFIX] Fix selectbox issue

Description
It's going to solve following bug:
https://github.com/Choices-js/Choices/issues/1080

Screenshots (if appropriate)

Types of changes
Add this condition to the if statement to open a dropdown. This means only type characters less than 2 in length inside the select box.
 event.key.length === 1

[x] Chore (tooling change or documentation change)
[ ] Refactor (non-breaking change which maintains existing functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] 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.
[ ] I have added new tests for the bug I fixed/the new feature I added.
[ ] I have modified existing tests for the bug I fixed/the new feature I added.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@mtriff I have the same problem with checks as the old pull request, could you help me solve it please?

That's unfortunate, we should have caught that in testing. Can you add an end-to-end test that fails when this happens?
Also, it looks like something odd is going on with this MR. I'm not seeing any new changes in the diff, only things from the last MR that have already been merged.

Ok, i will do the changes. thx for answering.


[PNPM] WARN  Ignore Vue I18n configuration file does not exist at i18n.config on layer

Environment
Nuxi 3.6.5                                                           8:46:32 PM
8:46:33 PM
[8:46:33 PM] RootDir: /Users/lecoupa/Documents/TheCompaniesAPI/thecompaniesapi-app
Nuxt project info: (copied to clipboard)                             8:46:33 PM

Operating System: Darwin
Node Version:     v20.5.0
Nuxt Version:     3.6.5
Nitro Version:    2.5.2
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      build, devServer, experimental, nitro, extends, imports, runtimeConfig, vite, components, css, modules, app, typescript, devtools, i18n, pinia, plausible, pwa
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>floating-vue/nuxt, vue-recaptcha/nuxt
Build Modules:    -

Reproduction
Here is my the i18n config object if it can help
i18n: {
    defaultLocale: 'en',
    langDir: './locales/',
    lazy: true,
    strategy: 'prefix_except_default',
    vueI18n: './config/i18n.config.ts',

    detectBrowserLanguage: {
      useCookie: true,
      fallbackLocale: 'en',
    },

    locales: [
      {
        code: 'en',
        iso: 'en',
        file: 'en.ts',
      },
      {
        code: 'fr',
        iso: 'fr',
        file: 'fr.ts',
      },
    ],
  },

Describe the bug
I don't know what happens but wherever I put it the i18n.config.ts file is never found. I have this strange error (notice the nuxt-seo-kit inside the url).
7|tca-app  | [@nuxtjs/i18n]  WARN  Ignore Vue I18n configuration file does not exist at i18n.config on layer /Users/lecoupa/Documents/TheCompaniesAPI/thecompaniesapi-app/node_modules/.pnpm/nuxt-seo-kit@1.3.9_@unhead+vue@1.3.7_rollup<EMAIL_ADDRESS>Skipping...

I have no idea where the issue is coming from. Here is my .npmrc as it seems to be related to pnpm?
shamefully-hoist=true
strict-peer-dependencies=false
shell-emulator=true
registry=https://registry.npmjs.org
git-checks=false

Additional context
No response
Logs
No response

Thank you for your reporting!
Hmm 🤔, It seems that nuxt layers path resolution is not working properly with nuxt i18n. /cc @BobbieGoede
We need minimal reproduction to debug.
Could you give us it please? 🙏

@LeCoupa
The warning being logged is a bit eager, any layer that does not provide a Vue I18n configuration file will trigger this warning, I am guessing you are extending your project with nuxt-seo-kit.
Note that this is a warning, if you are not seeing the same warning for your project (as opposed to this warning describing a layer), that probably means your VueI18n configuration file is being loaded as expected.
You can confirm which configurations are being loaded by running your project with DEBUG=@nuxtjs/i18n:module set (eg. DEBUG=@nuxtjs/i18n:module npm run dev) and look for the logs starting with @nuxtjs/i18n:module vueI18nConfigPathInfo and @nuxtjs/i18n:module layerVueI18nConfigPaths.
I'm closing this issue as this does not sound like a bug or unexpected behaviour, I will be looking into making the warning less eager, perhaps checking if a layer provides i18n configuration in the first place before logging this. Please let me know if you have more questions or if you run into any issues!

I have multiple layers in my nuxt app and only 2 of the 5 have the config file present so I get this warning a lot. Is there any way to turn off this particular warning?

 Early morning :(

Is there any Issue tracking this? I'd argue its a bug as its giving a warning about something thats it shouldnt.
Its definetly an Issue from a DX pespective as it makes the build process more noisy and can potentially lead to a developer missing actually warnings / errors.


OpenAPI exposes too many Parameters

Hi,
I have a simple REST Endpoint for querying Users:
[HttpGet]
[EnableQuery()]
public IQueryable<User> Get()
{
    var user = this._repository.GetAllUsers().AsQueryable();
    return user;
}

and my configuration for the ODATA Endpoint looks like this:
var builder = new ODataConventionModelBuilder(app.ApplicationServices);
builder.EntitySet<User>("User");
var model = builder.GetEdmModel();
app.UseMvc(routeBuilder => {
                routeBuilder.EnableDependencyInjection();
                routeBuilder.OrderBy().MaxTop(100).SkipToken();
                routeBuilder.MapODataServiceRoute("api", "api", model);
});

So I want to expose the orderBy, Top and skip parameters for my endpoints. However in the generated OpenAPI yaml I have also parameters for all other parameters e. g. search, filter, expand and so on. In e. g. the swagger-editor I can choose values for these parameters and send a request, which obviously will fail with a bad request, as the endpoint does not expose all parameters for ODATA.
Is there a way that the generated yaml files correspond to my exposed parameters. Or am i missing something here? My version of Microsoft.OpenApi.OData is 1.0.1 (stable release)
Any help is much appreciated. Thanks!

@LukasKathrein Thanks for reporting this. The short answer is "So far there's no way to generate yaml file based on server side configuration, if such configuration doesn't include in the client CSDL".
So, routeBuilder.OrderBy().MaxTop(100).SkipToken(); is server side configuration, all such information is not returned to client if we query "~/$metadata".

Hi @xuzhg
thank you for the quick reply, I was already suspecting something like this (still new to ODATA :) )
Best
Lukas


Investigate if the outstanding performance of LR over RF was a side-effect of CNN peeking

Reran on the new test sets with identical results.


ReActiveAndroid cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number.

Version number change but same issue accure.
App was Crashed, Kindly help me

Hello. Please read this article.