Time.cluster_id,
                Ota.cluster_id,
            ],
        }
    },
}

replacement = {
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.IAS_ZONE,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                TuyaPowerConfigurationCluster,
                PirMotionManufCluster,
                TuyaOccupancySensing,
                TuyaIlluminanceMeasurement,
            ],
            OUTPUT_CLUSTERS: [
                Time.cluster_id,
                Ota.cluster_id,
            ],
        }
    }
}`

Sorry battery sensor works good but illuminance value is updated only after presence detection

I dont think the battery sensor actually works - I had a device battery die recently and until the last day it had battery status as 100%

For the records.

Extracted DP Id's:
{
"1":"PIR state",
"4":"Battery level",
"9":"PIR Sensitivity",
"10":"Keep time",
"12":"Illuminance value",
"102":"Light Sense Interval Time(Version 2.0.1 and above)"
}

quirk v2 variant:  https://gist.github.com/vinzent/2194a8ef531d8e8ec3bc17ea17eab0e9
Looks like in HA 2024.06.0:

@cemizm  At least for me the Illumimance measurement seems to be good (with quirk). Developping my version of the quirk, i've discovered that when mapping the tuya datapoint to the Illuminance cluster, there were 2 values sent every time. The device sends illuminance values even when zha doesnt bind to the illuminance cluster measure_value attribute. with the double reporting the value switched between around 0 and the real lux value.

@vinzent thank you for your great work! With your quirk the illuminance seems to be working now at a first glance, but I will let it run for while to plot the results for a whole day. :)

@cemizm beaware of the quirks v2 issue which prevents reloading the ZHA integration: https://github.com/zigpy/zigpy/issues/1410

@cemizm beaware of the quirks v2 issue which prevents reloading the ZHA integration: zigpy/zigpy#1410

good to know, will save me a lot of time when i run into that issue

@vinzent again, thank you for the custom_quirk. the illuminance value look much better now:

how can i help to get this quirk integrated as default device handler?


Date built-in (test262 failures)

Hello.
The following test262 tests related to Date built-in are failing on current master (906558b8e94aa9118971188af9880eb47ff9b791):

ch15/15.9/15.9.3/S<IP_ADDRESS>_A5_T1
ch15/15.9/15.9.3/S<IP_ADDRESS>_A5_T2
ch15/15.9/15.9.3/S<IP_ADDRESS>_A5_T3
ch15/15.9/15.9.3/S<IP_ADDRESS>_A5_T4
ch15/15.9/15.9.3/S<IP_ADDRESS>_A5_T5
ch15/15.9/15.9.3/S<IP_ADDRESS>_A5_T6

This could be a related to https://github.com/Samsung/jerryscript/issues/213

The problem is that the tests were created for a specific timezone (namely US/Pacific) and fail when they run in anything other. Also, as far as I know there's no functionality in jerry-libc for getting system timezone, so in our case these always run with GMT time.

@dbatyai, thank you for checking.


Add Formatting support for fork join

Purpose
This will add formatting support for forkJoin syntaxes in Ballerina and remove the shadow jar creation for formatter CLI tool.
Releated issue: https://github.com/ballerina-platform/ballerina-lang/issues/13280
Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[x] Checked Tooling Support
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

sending the PR to master


[$1000] Dev: Clicking on task header sometimes opens assignee page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open a chat
Go to the "Assign task" section
Enter a title and create task
After creating click on task header somewhere

Expected Result:
Clicking on task header should not open assignee page
Actual Result:
Clicking on task header sometime open assignee page
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: Dev 1.3.38-3
Reproducible in staging?: no
Reproducible in production?: no
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/eeb8105f-47cc-4f1d-b63c-1a5aa6464717
Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688771023484909
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0188e528004d0d6c31
Upwork Job ID:<PHONE_NUMBER>273142272
Last Price Increase: 2023-07-10

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Only reproducible on dev so removing blocker

Actually, with the latest task redesign I don't think this bug exists anymore. If by assignee page you mean the DM - that is expected

@thienlnam this bug is on after new task redesign you can check that that is regression of this PR

@ayazhussain79 From the video in the issue post it looks like clicking the task header opens the chat with the assignee. That's expected behavior. Is there another issue you're trying to point out here that I'm missing?

Ohhh I see - yes that does look like a bug - thanks for clarifying

@thienlnam isn't it should open the assignee page for taskreport as looks correct as per the code?
https://github.com/Expensify/App/blob/0bdca706efb6344adfbccc6cff9f02a74f5a3650/src/pages/home/HeaderView.js#L165

cc @jasperhuangg Was it intended to make this change? I believe the only spot we want to allow changing the assignee is when clicked below - thoughts?

Proposal
Please re-state the problem that we are trying to solve in this issue.
Dev: Clicking on header area opens assignee page.
What is the root cause of that problem?
Here, we are opening the assignee page if the report is a task report. This is a regression from this PR.
https://github.com/Expensify/App/blob/751cf85c7bfc13c649abf54e85dd175b4dec566a/src/pages/home/HeaderView.js#L164-L167
What changes do you think we should make in order to solve the problem?
If we want to open the details page when we click on the header area (except parent chat) then we can change line 165 to -
onPress={() => ReportUtils.navigateToDetailsPage(props.report)}

Also, we should remove the disabled prop in line 167 as we won't open assignee page in any case now.
What alternative solutions did you explore? (Optional)
NA

@thienlnam in the previous design, user was not able to open assignee page when clicking around header but user was able to open assignee page when clicked on the assignee shown after "To" (in old header design). But I agree, in the new design the header should not open assignee page.

Assigning @jasperhuangg and un-assigning @yuwenmemon as Jasper is working on the PR.

The PR is on prod cc @tjferriss
Let's get @ayazhussain79 paid out for reporting the bug and we should be good to close this out

@ayazhussain79 offer has been sent via Upworks

@tjferriss offer accepted, Thank you

Payment has been sent.


app-router supports

I just want to know if this lib support app-router in nextjs 13 and how to configure

Is there any way to use a Provider component instead of using the 'appWithI18Next' method to be called in _app

https://jcquintas.gitbook.io/ni18n/usage/getting-started#4.-next.js-app

After some testing concluded it doesn't make sense to use this library with the app router, I am instead using next-intl which is suggested on the next.js app router docs

I need that for app-router too

same here I would use this with app-router, it seems there is no other library that supports locales without changing the url

I'll see if I can check how app router works soon. I'm up to suggestions on what you expect to see and how it should work.

The naive thing from the top of my head is that this
const MyApp = ({ Component, pageProps }) => <Component {...pageProps} />

export default appWithI18Next(MyApp, ni18nConfig)

needs to be replaced with some kind of provider on the layout.js (which is the root now). At least that is how i18n-next works and probably others.

So... I managed to make it work but without ni18n and only with i18next and react-i18next
( Solution found at https://github.com/i18next/next-app-dir-i18next-example/issues/12#issuecomment-1500917570
Credits to the author)
You'll have to create 3 files:
client.ts, server.ts, settings.ts
client.ts
`'use client'
import i18next from 'i18next'
import { initReactI18next, useTranslation as useTranslationOrg } from 'react-i18next'
import resourcesToBackend from 'i18next-resources-to-backend'
// import LocizeBackend from 'i18next-locize-backend'
import LanguageDetector from 'i18next-browser-languagedetector'
import { getOptions } from './settings'
// on client side the normal singleton is ok
i18next
.use(initReactI18next)
.use(LanguageDetector)
.use(resourcesToBackend((language: any, namespace: any) => import(./locales/${language}/${namespace}.json)))
// .use(LocizeBackend) // locize backend could be used on client side, but prefer to keep it in sync with server side
.init({
...getOptions(),
lng: undefined, // let detect the language on client side
detection: {
order: ['querystring', 'cookie', 'htmlTag', 'navigator'],
caches: ['cookie']
}
})
export const useTranslation = useTranslationOrg`
server.ts:
`import { createInstance } from 'i18next'
import resourcesToBackend from 'i18next-resources-to-backend'
import { initReactI18next } from 'react-i18next/initReactI18next'
import { getOptions, languages, fallbackLng } from './settings'
import { cookies, headers } from 'next/headers'
import acceptLanguage from 'accept-language'
const initI18next = async (lng: any, ns: any) => {
// on server side we create a new instance for each render, because during compilation everything seems to be executed in parallel
const i18nInstance = createInstance()
await i18nInstance
.use(initReactI18next)
.use(resourcesToBackend((language: any, namespace: any) => import(./locales/${language}/${namespace}.json)))
.init(getOptions(lng, ns))
return i18nInstance
}
acceptLanguage.languages(languages)
const cookieName = 'i18next'
export function detectLanguage() {
const ckies = cookies()
const hders = headers()
let lng
const nextUrlHeader = hders.has('next-url') && hders.get('next-url')
if (nextUrlHeader && nextUrlHeader.indexOf("lng":") > -1) {
const qsObj = JSON.parse(nextUrlHeader.substring(nextUrlHeader.indexOf('{'), nextUrlHeader.indexOf(}) + 1))
lng = qsObj.lng
}
if (!lng && ckies.has(cookieName)) lng = acceptLanguage.get(ckies?.get(cookieName)?.value ?? "en")
if (!lng) lng = acceptLanguage.get(hders.get('Accept-Language'))
if (!lng) lng = fallbackLng
return lng
}
export async function useTranslation(ns: any, options: any = {}) {
const lng = detectLanguage()
const i18nextInstance = await initI18next(lng, ns)
return {
t: i18nextInstance.getFixedT(lng, Array.isArray(ns) ? ns[0] : ns, options.keyPrefix),
ready: true,
i18n: i18nextInstance
}
}`
settings.ts
`export const fallbackLng = 'en'
export const languages = [fallbackLng, 'pt-BR', 'fr', 'de-DE']
export const defaultNS = 'translation'
export function getOptions (lng = fallbackLng, ns = defaultNS) {
return {
// debug: true,
supportedLngs: languages,
// preload: languages,
fallbackLng,
lng,
fallbackNS: defaultNS,
defaultNS,
ns,
// backend: {
//   projectId: '0000000-0000-0000-0000-00000' //Replace with a v5UUID code
// }
}
}`
As i said, I'm no longer using this lib 😢
I REALLY want to use this lib again!!!
If anyone can make it so we can get back to it I'd appreciate it alot!
Thanks <3


Add evidence path to metadata file

This is so we don't have to infer the path from the metadata file location and name, and the Timesketch GCS importer can read it from the json file.

@berggren: This should be good to review now; I fixed the tests.


Change the Resource location

Change the location of the Resource on the https://registry.identifiers.org/registry/erm to Europe (currently set to United States).

This has now been fixed in identifiers.org


Synchronous Enter and Exit Animations for Cross-Fade Effect

Hi there,
First of all, thank you for your fantastic work on this project! I really appreciate the functionality and flexibility it offers.
I’d love to suggest a feature that enables the enter and exit animations to play synchronously. This would allow for a smooth cross-fade effect where the outgoing element fades out while the incoming element fades in, creating a seamless transition experience.
Current Behavior
Right now, it appears that the exit animation for one element completes before the enter animation of the next element begins, which prevents the smooth cross-fading effect.
Proposed Solution
If possible, it would be great to add an option to make enter and exit animations play at the same time. This would open up new possibilities for smoother, more immersive transitions, particularly for applications where visual fluidity is essential.

Hey @thmsfchtnr, you can call the next function whenever you prefer within the enter and leave callbacks.
Here is a "sync" demo using Framer Motion.
Keep in mind that, in some cases, the elements may not be mounted when you try to animate them.
Let me know if this is what you’re looking for.

Thanks for sharing the demo! This is excactly what I was looking for haha 😅
Appreciate the help!


Road map for E2E test in Poseidon

I have created a Google doc here, for discussing on the road map for the Poseidon E2E.
Please comment on the Google doc or in this issue directly.
If you feel it needs more addition please add those sections in the Google doc.
This is the list is not exhaustive but is a list of things which i feel we need to add as a part of E2E tests.
We can refine and come up with final task list.
@deepak-vij @shashidharatd @m1093782566

Closing this issue as its already done.
Please refer the documentation (https://github.com/kubernetes-sigs/poseidon/blob/master/docs/devel/README.md).


--from-config flag doesn't work

Clone repo
Follow instructions in readme https://github.com/bombsimon/gclv#with-golangci-lint-configuration
Terminal hangs and does not update version

Thanks for the report! I had mixed up the flags but this should now be resolved from #3
$ which golangci-lint
golangci-lint not found

$ cd examples
$ config=golangci-1.40.yml

$ ../gclv --from-config $config
v1.40.0 was not found - downloading
golangci/golangci-lint info checking GitHub for tag 'v1.40.0'
golangci/golangci-lint info found version: 1.40.0 for v1.40.0/darwin/arm64
golangci/golangci-lint info installed /Users/simon.sawert/.golangci-lint/golangci-lint
Switching to v1.40.0

$ golangci-lint --version
golangci-lint has version 1.40.0 built from 5c6adb63 on 2021-05-10T10:45:21Z

$ golangci-lint run --config $config
main.go:5: unnecessary leading newline (whitespace)


Patch for u_certificate_provisioning.cpp

I apologize if this was explained elsewhere but why is the patch for u_certificate_provisioning.cpp needed? I understand the trts patch.
Is it at all possible to use this SDK with an unmodified aesm service?
Thanks!

Also, can the compiler-rt patch be incorporated into the sdk patch?

The first question about the patch:
If not patched, the mutual-ra sample won't work because ocall_get_update_info returns non-zero. This function directly makes an ocall to sgx_report_attestation_status which triggers the certificate check with wrong key endian.
For the compiler-rt patch:
When we first linked everything together without this compiler-rt patch, some error like 'missing ror4' function occurred. Then we found that we can eliminate this error by simply add a '--gc-section' linker flag to eliminate this bug. We figured out the reason is that the compiler-rt does not provide that function though not needed in the final program. Then we decided to provide a patch in case something else would be needed in the future. So now if you simply remove everything around compiler-rt patch but keep the --gc-section flag, everything should be fine. But it is not guaranteed to work in future (I haven't test this project without this patch)
Let me try to do something more about this compiler-rt patch. I think the best way is to embed it to the compiler-builtins of Rust.

Thank you for the response. Just to clarify: if remote attestation is not used, we can use unmodified sdk and aesm service from intel?
Btw, really appreciate your efforts on this project.

Yes. you are right. Just use the unmodified SDK if not using RA :)


[uss_qualifier] DSS0030 slight overlap subscription interactions

Extends ISASubscriptionInteractions generic scenario to include a subscription that only barely intersects with the ISA.
Note that this subscription's area is generated based on the configured ISA's area (see generate_slight_overlap_area in common/dss/utils.py).
For ISA footprints that are a square or rectangle, the new test area is guaranteed to only share a single point with the footprint: if this is too restrictive, we can increase the overlap area.
If required, this new test area could also be added to the configuration instead of being generated, but we would then risk users to configure an area that would not respect the spirit of the test.

Parked while I look at #369 and until I addressed the comments.
@BenjaminPelletier in the meantime I'd be happy to get your input on whether to extend the scenario or not or to keep the separate ID or not: if there are reasons for avoiding using new IDs unless strictly necessary I'd be happy to know them for the future scenarios I'll write.


ListT Apply and Bind is inconsistent

The Apply instance for ListT:
runIdentity (toArray (Tuple <$> fromArray [1, 2, 3] <*> fromArray [4, 5, 6]))

Results in:
[Tuple (1) (4),Tuple (2) (5),Tuple (3) (6)]

But the Bind instance:
runIdentity (toArray (fromArray [1, 2, 3] >>= \a -> fromArray [4, 5, 6] >>= \b -> return (Tuple a b)))

Results in:
[Tuple (1) (4),Tuple (1) (5),Tuple (1) (6),Tuple (2) (4),Tuple (2) (5),Tuple (2) (6),Tuple (3) (4),Tuple (3) (5),Tuple (3) (6)]

Is this the cause of the exponential markdown render then?

@garyb no idea, it's possible but I'm not sure.

Not likely as the true Apply for ListT will produce more combinations than the zip one. So whatever behavior you're seeing now, if it's at all connected to ListT, will explode further.


CLI command for rebuilding the search indices

This PR introduces a new CLI command for calling service.rebuild_index() for every service with this method registered in the service registry (which should include all relevant services in the latest releases).

both renamed


tEloDifference is being weird.jpg

Need to place in the README how this badboy is made because it doesn't seem to create itself

Fixed


GUI & Decompiler exporting to GLTF textures are missing alpha

Describe the bug
In GUI version if you export model to GLTF textures are missing alpha.
Same thing is with decompiler when using --gltf_export_materials.
Result:

If same textures are converted manually with following:
Decompiler.exe -i "C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\dota\pak01_dir.vpk" -o "C:\test" -d -e vtex_c -f materials/models/heroes/abaddon
Texures have alpha, result:

Reference file in a Valve game
Dota 2 pak01.dir (any asset)
pak01.dir /models
pak01.dir /materials/models
Expected behavior
Textures have alpha information
Version info
Decompiler <IP_ADDRESS>5 - latest unstable (also present in stable version)
Same with GUI (latest unstable and stable)

Additional context

Duplicate of #212 and #194


Shutter "effect" executed at the beginning of recording a video

Steps to reproduce

Setup camera in video recording mode as per Usage
Start recording, using camera.capture()

Expected behaviour
When I start recording a video, I'd like to apply my own UX to notify the user that recording has started. (show a timer etc).
Actual behaviour
When I start recording a video, I get a shutter "effect", similar to that of taking a photo on the native iOS camera. I can of course apply my own additional UX :+1:, but I've no way of disabling this effect
Environment

Node.js version: 4.2.3
React Native version: 0.19.0
React Native platform + platform version: iOS 9.2.1

react-native-camera
Version: npm version

Are you sure this is an "effect"? Or is there something strange happening with the camera's actual exposure? I am seeing what I believe to be a camera exposure issue at the beginning of recording video, resulting in the first frame of every video being essentially black. I'm guessing the iOS camera API is being manipulated in such a way as to cause this.

Followup, is this a dup of https://github.com/lwansbrough/react-native-camera/issues/158?

@gimlids I've posted the effect here: https://youtu.be/DjZ_Or_zA4c

This doesn't happen when you start recording video in the native camera app, so I agree it's likely to be custom manipulation of the API. I've had a look through the RCTCamera and RCTCameraManager but I'm struggling to find too much

@gimlids you were right -  #158 solved this :+1:


fix: exception handling for server errors with different content type header - fixes #132

This PR fixes exception handling for errors with a. content type header of application/json instead of application/json; charset=utf-8
fixes #132

This fixes the issue I was encountering.

Just adding that this also fixed my issue.
Undefined array key "choices"
I was trying to send a prompt that would take too many tokens, but was not getting a helpful response until this.


OCM-335: Added provider version and commit to cluster properties

Added new computed attribute, ocm_properties containing provider version/commit
when creating a cluster we merge properties and ocm_properties into one map that is sent to OCM. This is so we keep properties backwards compatible.

/hold

/unhold


s3: Add support  for accelerate endpoint

For example, download data from CDN instead.
Docs:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html
https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration-examples.html

Not user request so far, let's close.


Add defaults for services and ports

Hi Craig,
Having to specify service/port, zone and ensure for each service or port
is highly redundant and cumbersome. Make service and port default to the
resource name, ensure default to present and allow to set a default
target zone for services and ports via parameters to the firewalld
class. For ports the default protocol can also be set through a
firewalld class parameter.
Incidentally change the port spec test which seems to be incorrect
regarding parameter port accepting a hash.

Travis failure seems unrelated.


whisper: disable buffering for update operations

We found out that 200GiB of memory isn't enough for 8M metrics, and
past this limit whisper will start reading from disk at every update.
After this patch, updates() will get a 100% hit rate on the page cache
with only 100GiB of memory.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

This PR seems HUGE to me. I'm really excited about the performance implications on a large system. Can you share any before/after graphs or metrics for how you validated this?

Some before after:

Reads going down after the fix
Way less memory used for cache

Our configuration is 24 cores, 256GiB of RAM, 2TiB of SSD, ~10M metrics.

I tried the same on my test cluster - but I have no big read load there. I can confirm that you will get some free RAM after restart though. :)

Note that you need to drop the caches before and after to get a sense of the actually used cache :)

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

Coverage increased (+0.01%) to 88.372% when pulling a3efa8453df65554e3636a32dbf39a1a4032993f on criteo-forks:criteo-dev into 78f761c8377c4ec64be1ab62333eb8f9b46a8c53 on graphite-project:master.

I can try this out on my cluster to confirm your observations.
One thing I am having a little trouble finding a reference on, though, is what effect exactly does this change have on the file interactions? Under the covers, python is calling setvbuf, I think, but I can't find information on what effect setting that to unbuffered has on reading regular files. Do you have a source that guided your thinking on this?

http://stackoverflow.com/questions/18194374/default-buffer-size-for-a-file?answertab=votes#tab-top has some information. My thinking is that linux will probably buffer 4k anyway (size of a page) and unbuffered reads will simply cause more syscalls at worse.

Hm, several people referring to setvbuf() but it looks like (at least in 2.7) python's io module only sets that on stdin, stdout, stderr. For the File buffering it appears to be doing its own buffering though it doesn't appear to be doing any readahead when in binary mode (maybe someone could read this a little closer? https://github.com/python/cpython/blob/2.7/Modules/_io/bufferedio.c#L1432-L1529)).
I think I'm :+1: on this, including changing the default, but I'd like to see more people test it in prod and get someone else's eyes on the Python implementation to verify my conclusion.

Note that I'm running with Pypy, which might have a different behavior. But the documentation doesn't say that this applies only to stdin/stdout/stderr. I also validated with strace that my reads were called with 8k before the change.
reads are constant, it's just that before the change they were completely thrashing the page cache:
Before
[root@graphite-global-cache01-par ~/perf-tools]# ./bin/cachestat
Counting cache functions... Output every 1 seconds.
    HITS   MISSES  DIRTIES    RATIO   BUFFERS_MB   CACHE_MB
   49514    85660    24737    36.6%         8262     223187
   58743   209480    40935    21.9%         8265     223112
   29536   219433    37805    11.9%         8272     223270
   79205   189157    49085    29.5%         8273     223281
   36131   230937    38658    13.5%         8273     223123
   59280   204204    39298    22.5%         8271     223022
   70966    87138    27158    44.9%         8270     222998
   32321    87837    22470    26.9%         8271     223181
   44200   171163    33245    20.5%         8270     222998
   52094   222617    40092    19.0%         8268     222992
   26670   226120    36743    10.6%         8268     222986
   58898   220398    40836    21.1%         8272     223025

After
# ./perf-tools/bin/cachestat
Counting cache functions... Output every 1 seconds.
    HITS   MISSES  DIRTIES    RATIO   BUFFERS_MB   CACHE_MB
  222662        0   108501   100.0%         9978     214294
  211045        0   116320   100.0%         9978     214295
  204292        0   114225   100.0%         9978     214296
  177172        0   104677   100.0%         9978     214296
  211580        0   115365   100.0%         9978     214297
  241099        0   115595   100.0%         9978     214298
  237547        0   117324   100.0%         9978     214299
  226525        0   120717   100.0%         9978     214300
  222532        0   118824   100.0%         9978     214300
  217729        0   117804   100.0%         9978     214301

@iksaif One thing that's kind of tricky with Graphite is that the memory pressure the carbon-daemons (especially carbon-cache) put on the system overall after running for long periods of time can cause the page cache to come under pressure and eventually thrash. In your environment, do you see the level of thrashing you posted above after a clean restart without your changes?

Yes, I this would consistently apparent after a clean restart and reboot once we reached a big enough number of metric updated every minute. Even worse, there was no way to fix it (appart from my patch).

I restarted things a few hours ago to get to a clean-ish starting state to evaluate the impact of this change, and unfortunately I have not seen any page-cache thrashing in a meaningful way since then (large queries drop it for a moment, but the ratio goes back to 100% promptly). This is somewhat intentional, as my systems are tuned to make the best use of the page cache already.
I'd personally like to get a sense of a few things before merging this.

Can we quantify exactly the behavior change as a result of setting this? It seems that I'm not alone in being a bit confused by what it changes "under the covers". Do you have data on "bytes read per update", before and after?
I would love to see a reproduce case. If someone else can get to one faster, that'd be sweet. I think my turnaround cycle unless I force memory pressure is going to be long.

Additionally, can you share some data about your setup? Are you doing 8M metrics per host? Per what time interval?

It's also probably worth noting that I am able to gain significant improvements in read-vs-write ratios simply by restarting the carbon daemons (and evicting the bloated-over-time cached points):

Also, just to add, the intent of me posting those graphs was to illustrate that Graphite can be an interesting tool to scale, and that there can be confusing behavior changes just from something as simple as restarting it's daemons.
That said, I don't meant to wet-blanket your change by asking lots of questions. I'm really glad you're doing performance research and opening PRs against this project to push things forward. I personally like to truly understand how changes like this work before merging them, as I have made errors in the past where I've associated performance improvements with the wrong change.
Thanks again for your work so far, and I hope we can demonstrate how exactly this change works and get it merged in!

Update with the patch
stat("foo.wsp", {st_mode=S_IFREG|0644, st_size=151312, ...}) = 0
open("foo.wsp", O_RDWR) = 144
fstat(144, {st_mode=S_IFREG|0644, st_size=151312, ...}) = 0
flock(144, LOCK_EX)                     = 0
lseek(144, 0, SEEK_CUR)                 = 0
lseek(144, 0, SEEK_SET)                 = 0
read(144, "\0\0\0\1\1\3413\200?\0\0\0\0\0\0\3", 16) = 16
read(144, "\0\0\0004\0\0\0<\0\0-\0", 12) = 12
read(144, "\0\2\0344\0\0\16\20\0\0\2\320", 12) = 12
read(144, "\0\2=\364\0\1Q\200\0\0\1m", 12) = 12
lseek(144, 0, SEEK_SET)                 = 0
lseek(144, 52, SEEK_SET)                = 52
read(144, "W\346\334l@)\237\317\303\370\21\365", 12) = 12
lseek(144, 41944, SEEK_SET)             = 41944
write(144, "W\352\16\240@%\322\364'\204\251H", 12) = 12
lseek(144, 52, SEEK_SET)                = 52
read(144, "W\346\334l@)\237\317\303\370\21\365", 12) = 12
lseek(144, 41752, SEEK_SET)             = 41752
read(144, "W\352\n\340@$\224\364\203\312\373;W\352\v\34<EMAIL_ADDRESS>720) = 720
close(144)                              = 0

Update without the patch
stat("foo.wsp", {st_mode=S_IFREG|0644, st_size=151312, ...}) = 0
open("foo.wsp", O_RDWR) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=151312, ...}) = 0
flock(3, LOCK_EX)                       = 0
lseek(3, 0, SEEK_CUR)                   = 0
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "\0\0\0\1\1\3413\200?\0\0\0\0\0\0\3\0\0\0004\0\0\0<\0\0-\0\0\2\0344"..., 8192) = 8192
lseek(3, 0, SEEK_CUR)                   = 8192
lseek(3, 0, SEEK_CUR)                   = 8192
lseek(3, 0, SEEK_CUR)                   = 8192
lseek(3, 66964, SEEK_SET)               = 66964
lseek(3, 0, SEEK_CUR)                   = 66964
write(3, "W\352\17\30\0\0\0\0\0\0\0\0", 12) = 12
lseek(3, 52, SEEK_SET)                  = 52
read(3, "W\332h8\0\0\0\0\0\0\0\0W\332ht\0\0\0\0\0\0\0\0W\332h\260\0\0\0\0"..., 8192) = 8192
lseek(3, 0, SEEK_CUR)                   = 8244
lseek(3, 66748, SEEK_SET)               = 66748
read(3, "W\352\n\340?\204z\341G\256\24{W\352\v\34?\204z\341G\256\24{W\352\vX\0\0\0\0"..., 8192) = 8192
close(3)                                = 0

With the update, the syscalls will ask the kernel to read only what we need instead of buffering 8k more. The actual numbers are probably different because of minimal io size of the disk and the page size, but both of these numbers should be smaller that 8k.
Based on the behavior seen on my system I would say that without the patch we would read at least two times more than with the patch and that half of the data being read was never used.

Dropping caches on live instances (exactly the same traffic).
patched server:

vanilla server:

That's phenomenal. Thank you very much for the extra information. I'm convinced, and happy to merge this. I'll give it an hour for @mleinart, @obfuscurity or @deniszh to weigh in with anything else, otherwise, I will merge this ~10:30am ET.

👍 good find, @iksaif

Thanks!

No objections here. On moderate load I see no regression here, and free ram is good. :)

A late :+1:, thanks for the research and testing all
On Tue, Sep 27, 2016 at 9:26 AM, Denis Zhdanov<EMAIL_ADDRESS>wrote:

No objections here. On moderate load I see no regression here, and free
ram is good. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/graphite-project/whisper/pull/181#issuecomment-249881140,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATaL3gslk4KWkv2lZbNyROLiMvv0Dj2ks5quSevgaJpZM4KGX7b
.

Experienced the same problem. Didn't realize it could be so simple to fix!! This is amazing.


Resizing the console makes the images disappear

I just tested the new canvas. It works well, except that when the console is resized the console turns black!

After maximizing:

@rold2007 This has nothing to do with Spectre.Console, but is related to the terminal in question preserves output during resizing.

@rold2007 Verified that this is confined to Windows Terminal, so I'm closing this issue for now. I Will see if there's a way to work around it, but not sure what that would be.

@patriksvensson Thanks for your answer. I understand your point, but at the same time I was surprised to see that the text (image titles) was still there but the image "pixels" weren't. I don't see why the text would be there but not the pixels if everything is drawn as "text".

@rold2007 I see your point, but this seems to be a bug in Windows Terminal and not really sure what I can do about that 😕
If you have any suggestions, they are welcome.

@patriksvensson I looked into it a little bit but I haven't finished yet. As you can see from the first screenshot, if I print 'a' instead of spaces it "works". The only drawback is that for some reason the color gets spread out to the right of the "image".

I started testing with different kind of unicode spaces and U+00A0 gives a nicer result than printing a's, but the color still spreads. I will try to other kind of spaces, but let me know if you have an idea about the cause for the color spreading.

To fix the color spread I tried adding a blank space before the LineBreak in the Canvas Render() method:
                yield return new Segment(new string('\u00A0', 1), new Style(background: Color.Default));
                yield return Segment.LineBreak;

It works better except for the third image which shows empty spaces when the console isn't wide enough...
Maximized console:

Default size console:

@patriksvensson I'll see if I can come up with something better...


Map drawing issues

In certain locations like motherload mine it loses track of your location.
I imagine this would also occur in many other certain world level changes.
Probably the best plugin for group ironman by far aside from this.

I can look into this! Thanks for reporting the bug.

Turns out this is a complex issue to solve due to Jagex's janky client-side map code. I had some discussions with the devs, and though I think I could devise a solution it's fairly complicated and would add a lot of potentially buggy complexity to the map point code. Areas like MLM and Dorgesh-Kaan are apparently common offenders, because the map is stitched together and difficult to map directly to a x,y,plane point.
If I get a decent amount of requests for this feature I'll see about coming up with a solution, but it's unlikely I will implement anything soon. I'm certainly open to someone else PRing a fix for this though - I believe hooking into the devtools map point location code might be of some value.


Adding level to zoom event

I need to set a max/min zoom for my map, to prevent that the user zoom so far out that the map disappears.
In order to know when to use ev.preventDefault() I need to know if we're zooming in or out. Since panzoom handles the wheelZoom, the only way is to listen to the zoom event.
My current code rely on getting the level variable from the zoom function.
world.on("zoom", function maxMin(ev) {
  var newZoomLevel = world.zoom()
  var lvl = ev.detail.level
  var zoomingIn = newZoomLevel < lvl

  if(zoomingIn && newZoomLevel > 7) ev.preventDefault()
  else if(!zoomingIn && newZoomLevel < originalZoomLevel) ev.preventDefault()
})

If I just set my logic after newZoomLevel then the user is trapped at the zoom level where I call ev.preventDefault(), since wheelZoom skips some steps when getting to the desired zoom level (which is expected and sane).  Now, if the user tries to zoom out and wheelZoom goes to 7.021554, I will still call  ev.preventDefault() since it's higher than 7, hence trapping the user in a non zoomable state.
Adding this.fire('zoom', {box: box, focus: point, level: level}) to the zoom function creates a misalignment with pinchZoom, since level doesn't exist (on less we substitute  level with currentDelta).
So the question is:

should I calculate level from box and not add level to zoom (not sure how to do that yet)
add level to zoom but not to pinchZoom
calculate level in pinchZoom so the event is aligned
use currentDelta as level in pinchZoom so the event is aligned

@Fuzzyma What do you think?

Well you could just save the lastZoomLvl and compare to that. This way you now where you are. You also could set the zoom lvl to 7 fixed when the new zoom is higher than that.
Beside all this I believe that adding the level to the event details is a good thing.
It is information which is often required and only in this event.
So it is fine to only have it there

Do you mean save lastZoomLvl in my code that uses svg.panzoom.js? The problem is that I don't know the last zoom level unless I set it and when it comes to wheelZoom, it's svg.panzoom.js that handles all of that.
I will add level to the zoom event but I hate that the API is splitting. It makes it hard to write generalized code when arguments change like that. But for now, I'll let it rest. :)

On second thought. It's not a good idea to have different arguments to the same event. If I do this, then code that listen to zoom and works perfect with mouse input will fail when used with touch input.

Perhaps the zoom event in pinchZoom should be removed?

I mean saving the zoom level on every zoom. You intialize lastZoom with your initial zoom and ... uh - i got your point. What about doing this on zoomStop?
We also can divide the events into zoom and pinchZoom

zoomStop was removed to simplify things. We currently have the following events:

Event Name
Argument Value
preventDefault support

zoom
{ box, focus, level }
YES

panStart
{ event }
NO

panEnd
{ event }
NO

pinchZoomStart
{ event }
YES

pinchZoomEnd
{ event }
NO

Currently there is a bug in the doc or implementation - you can not use preventDefault() on the zoom event if it comes from pinchZoom.
I've fixed it in the level branch but not sure if the implementation should stay like that.

We also can divide the events into zoom and pinchZoom
Maybe - I'll need to think it over a bit

Mh I think theer was a reason why preventing is not possible there. Imo zoom of pinchzoom should be preserved in the pinchzoomstart and not in the zoom event. But Iam not sure about that one

I don't have a touch device with me. I'll need one before I can say anything clever :)

Why don't you just put min and max as parameters in the zoom in the first place?

@kievking You mean adding max/min as an option to panZoom()? Zoom via mousewheel and pinchzoom is handled by svg.panzoom.js and is not something you call yourself, so max/min can not, currently, be set from outside.

@dotnetCarpenter https://github.com/svgdotjs/svg.panzoom.js/pull/10

Closed in favor of #10


🐞 - Need more space between tui-chip and header

Code Example URL
any
Description

Taiga UI version
latest
Browser Used
Chrome
OS Used
macOS

hi @splincode , can i get more information about this bug? is it only when using chinese characters? Thanks.

is it only when using chinese characters?  when I use google translate page for Chinese

aaa I can also reproduce when changing the language. Does that mean in this issue we need to add a margin-left? because I see the margin-right is already there. @splincode

@waterplea I don't know, maybe that issue isn't relevant


Virtual monitor installed but not in display settings

I'm running windows 10 with a 3090RTX.
Single physical monitor.
I installed the driver and the virtual monitor is showing in the device manager but no additional monitors are showing up in windows display settings.

Which version did you install?

Which version did you install?

23.12.2

Ah I got the win 11 version


🔧 fix(icons): Exchanged FA Pro icon for a free version

Looks like there are two versions of this icon that are nearly identical in name.
This PR swaps out the Pro version for the free one.
When signed into FA, it hides the 'Pro' label so they look the same.
Logged out:

Logged in:


Charts - Adjust the ingress definitions for Workflow and API services

There is no a single API Ingress pointing to the Workflow service in the chart.


Fix code scanning alert - Semgrep Finding: javascript.jsonwebtoken.security.jwt-hardcode.hardcoded-jwt-secret

A hard-coded credential was detected. It is not recommended to store credentials in source code, as this risks secrets being leaked and used by either an internal or external malicious adversary. It is recommended to use environment variables to securely provide credentials or retrieve credentials from a secure vault or HSM (Hardware Security Module).
Tracking issue for:

[ ] https://github.com/beyzakarababa/juice-shop/security/code-scanning/130

Fixed. https://github.com/juice-shop/juice-shop/commit/c69b8a09664196259902ada15d49b8e5452511a7


Reading Data

Need to have a way to read in data from what was exported by the editor

This can be done, but the root element name right now is being hardcoded in engine, editor, and game.  I made a task to regulate this a bit more.


Strange behaviour regarding enableTranslationWorkbench setted to true

Summary
The enableTranslationWorkbench default setting setted to true worked fine until recently.
We have now a strange random behaviour when enableTranslationWorkbench setted to true. It happens sometimes that the created scratch org has enableTranslationWorkbench is still off.
Steps To Reproduce:
Hard to reproduce. Don't know if this is relevant but one of our scratch was ok on CS128 but not ok for the developer who created a scratch org placed on CS100.
Expected result
enableTranslationWorkbench always activated when enableTranslationWorkbench setting setted to true.
Actual result
random behaviour
Additional information
cli version : sfdx-cli/7.96.0 darwin-x64 node-v15.14.0
Our scratch def :
{
"orgName": "SecretCompName",
"edition": "Enterprise",
"features": [
"FinanceLogging",
"ContactsToMultipleAccounts",
"CPQ"
],
"settings": {
"entitlementSettings": {
"enableEntitlements": false
},
"enhancedNotesSettings": {
"enableEnhancedNotes": true
},
"languageSettings": {
"enableTranslationWorkbench":  true,
"enableEndUserLanguages": true
},
"chatterSettings": {
"enableChatter": true
}
},
"language": "fr"
}

Hi @eyhuellou have you tried running the command with the environment variable SFDX_REST_DEPLOY set to false? This behavior is default in the latest-rc release of the CLI, but not latest yet.
That would be my one suggestion, but if it's hard to reproduce it'll be harder to nail down the real issue. Let me know how that goes, and if you see anything else behaving weirdly.


Add camera feature (Zoom, Tracking, Focus)

This repository is add Camera function for more feature with Zoom, Tracking and Focus .
If my repository make any confidence or issue please let me know thanks .

Can we first see your changes in MAVSDK-Proto? Also in this PR you should fix the style and remove the parts that should not be merged (e.g. it seems like you removed all the plugins but camera from the list).


Image size

Good afternoon, the nuget is excellent, it has worked. What if I have the concern or know if at some point they will update it to be able to send the size of the image to the printer. Since this is scaled to the size of the paper and it would be more optimal to be able to choose the size of it.

Good afternoon, the nuget is excellent,The size of the image can be chosen in order to have full control of the image and whether it is centered or not.

how to do that? can you please give sample code? thanks

For disabling auto-scale in Image routines lookup my code in my PR #70 .


[Enhancement]: update vitalik blog link

What would you like us to improve?
update vitalik blog link to vitalik.eth.limo since the old one vitalik.ca no longer works.
check it out: https://github.com/vbuterin/blog
How important it is?
very important.
Broken links will lead to an incomplete understanding of document.

Can I take on this issue?


update 3.4.13 to 3.4.14

@asmorkalov, please feel free to merge if you're OK with the current state.


Wrong curriculum link in website

On the prep course website the link to see the curriculum, in more detail, is incorrect.
It should be:
https:///docs.google.com/spreadsheets/d/165U7Y9ll0v5oKykIileYOTb7GcMPyQkkl18E-5-h_8k/edit#gid=2018895387
When at the present is:
http://www.lisbondatascience.org/prep-course/clkn/https/docs.google.com/spreadsheets/d/165U7Y9ll0v5oKykIileYOTb7GcMPyQkkl18E-5-h_8k/edit#gid=2018895387

Trippy. Can reproduce on Safari, but can't reproduce on Brave.
Clicking the button does nothing, opening in new tab works on brave, and on safari leads to broken link.
@minhhoang1023 any clues? The easiest fix may be to just move away from html entirely and add a button, may save us some pain.

@PedroGFonseca Yeh pretty weird. It works on Chrome if I open as a new tab, but not as a button.
@dominguezmaria do you think if we could add a button as Pedro suggested?

changed it to a button, but there is still a weird error going on

will check later today :)

Replaced the link with one that seems to make it work!
@minhhoang1023 can you try it out (just to double check it works), and reopen if needed?


Refactor RequestInvite to use membersNew state.

Will rebase and refactor once @osdiab's #103 is landed.


Generic Config

Breaking out the configuration so we can inject enterprise functionality via init() function.

@darkonie @alberts This is ready for review


Failed to start

When I start the web server using the command:

npm start

I got a list of errors:

npm ERR<EMAIL_ADDRESS>start: node app.js
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is most likely a problem with the admin-mongo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node app.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls admin-mongo
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.2.0-25-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "start"
npm ERR! cwd /opt/adminMongo
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/adminMongo/npm-debug.log
npm ERR! not ok code 0
Currently, my environment is Ubuntu 15.10. Anyone can help me fix that?

This is normally a node issue. Please try the recommendations here: http://stackoverflow.com/questions/21168141/cannot-install-packages-using-node-package-manager-in-ubuntu


.xvimrc not working

Description
Have .xvimrc in ~/ directory and it's not working. Contents below:
set hlsearch
set incsearch
set ignorecase
set smartcase

Expected behaviour
Specifically I was trying case insensitive search. I was searching for Defaults as defaults, and it is not finding it. I installed XVim, opened Xcode to test it out and it was working. I then created the .xvimrc and relaunched Xcode. XVim is still working as expected, but the .xvimrc is not working or at least case insensitive search
Environments

Xcode Version 12.1
XVim branch and revision Master

I had some comments in my .xvimrc and deleted all and it's working now


fix: nextjs demo safeBody

Description:
simple change to remove safeBody and update package lock with minor changes, will not prevent demo app from running but those are small mistakes
Checklist:

[ ] My PR follows the contribution guidelines of this project
[ ] My PR is free of third-party dependencies that don't comply with the Allowlist
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked the PR title to follow the conventional commit specification

I will propose to merge this without passing the requirements.
https://github.com/hyperledger/identus-apollo/issues/190
I have reported the issues with


🚀 [Feature] : "Start to earn Test Tokens now!" with the app links for Stay Tuned Section

Is your feature request related to a problem? Please describe.
I am always frustrated when users miss the opportunity to earn Test Tokens due to lack of visibility. The current "Start to earn Test Tokens now!" section does not grab enough attention, especially on mobile devices.
Describe the solution you'd like
I would like to update the "Start to earn Test Tokens now!" section to a more engaging "Stay Tuned" section. The section should be visually appealing and optimized for both desktop and mobile views. It should clearly communicate the opportunity to earn Test Tokens and include a call-to-action button.
Describe alternatives you've considered

Enhancing the current section with more vibrant colors and graphics.
Adding animations to draw attention to the Test Tokens opportunity.
Using push notifications or pop-ups to remind users about earning Test Tokens.

Additional context
Please refer to the attached image for the desired visual style of the "Stay Tuned" section. The section should include the text "Stay Tuned" prominently along with the message "Start to earn Test Tokens now!" and a call-to-action button.
Here is a mock-up of the section:

Mobile Optimization:
Ensure the design is responsive and looks good on mobile devices.
Call-to-Action Button:

If you want to speed up the process of this issue, please send 🚀 as a reaction.

@KeenAaron Are you interested in with this issue ? I can assign you if you are OK :)


Aiven service instances cannot change plans

What
The 2 Elasticsearch plans we're launching with are both the same size,
varied only by ES version (5 vs 6). Also, Aiven doesn't perform a
version upgrade when moving an existing service instance from the
small-ha-5 plan to the small-ha-6 plan.
Taken together, these two facts mean that there's no meaningful plan
change that can be made - so in this commit we mark these plans as
non-updatable.
The above holds, technically, for now, but may not be true in the
future.  We are choosing to delay the work to implement selective
update-ability until we actually introduce differently-sized plans.
Describe what you have changed and why.
How to review

Point a dev env at this branch
Update CF (possibly just the post-deploy job)
Enable service access to elasticsearch for at least one org and space
cf create-service elasticsearch small-ha-5.x an-instance
watch cf services until it's created
observe that cf update-service an-instance -p small-ha-6.x fails

If we don't do this
This PR is to enable the documentation story #154638140 to include "you can't update service instances". If we don't do this, then we'll have to document upgrade paths which seem to succeed, but don't really do anything, which seems sub-optimal at best.
Who can review
Anyone except me.

For reference, what's the user experience (the message displayed to them) if they were to try and update an instance?

@henrytk
$ cf update-service my-es-service -p small-ha-6.x
Updating service instance my-es-service as admin...
FAILED
Server error, status code: 400, error code: 110004, message: The service does not support changing plans.```


Save after moving editor tabs with split panes changes wrong files

I couldn't find if this was an open issue, so I apologize if it's a duplicate.
If the editor is open with split panes and the tabs are manually moved in the panes, after editing and saving a tab (file) that is in a different order than the split, the other pane then is updated with the information in the same order.  Following the steps to reproduce will make this more clear than a description.
What steps will reproduce the problem?

Note: do this on a test file, not a real one!
Open three files in the editor.
Split vertically or horizontally.
Move the order of the tabs on the top pane, so instead of 1-2-3, it's now 3-2-1 (or whatever).  The split pane stays in order 1-2-3.
Edit the file on tab 3 and then click save.
Click on the split pane.
The name of the file on tab 3 changes to match pane 1, but the file doesn't change.  So, the split panel now has 2 tabs open that point to the same file name.
Edit the file in the split panel where the tab name changed and then save.  Notice that all the open files now match that data -- even the ones that originally had different names.

What is the expected output? What do you see instead?
I expect the file names on the tabs to not change and the text on each file to sync between tabs based on filename, not based on tab position.
Please provide any additional information below
Versions and main components

Spyder Version: 3.x and 4.x
Python Version: 3.6.3
Qt Version: 5.6.2
PyQt Version:  PyQt5 5.6
Operating system: Ubuntu

Dependencies
Please go to the menu entry Help > Optional Dependencies (or
Help > Dependencies), press the button Copy to clipboard
and paste the contents below:

I can reproduce this issue, This is related to #5271
I think this is caused for the issues that I mentioned in #5315

Thanks!  This is exactly the same as #5271.  Any of the editor stack methods that use index instead of filename would be affected the same way.

This is exactly the same as #5271

But #5271 is already fixed. What should we do here then?

Thanks! This is exactly the same as #5271

It's similar, #5271 was related to closing files, this is related to saving files

Any of the editor stack methods that use index instead of filename would be affected the same way.

Yes, probably, but if we are lucky the only one is the save method

@csabella, do you want to work on this one?

@ccordoba12  Sure, I can work on this.

Great, thanks!

If it is of any help, I experienced this myself on Win 10 Ent x64 just yesterday and was going to report, but couldn't figure out exactly how it was triggered to reproduce it. However, this indeed appears to be the exact issue that happened, as moving around a tab reproduces it just now.


Terms file is empty, no terms to re-rank

Running the following Dockerfile:
Prior running the docker build command please clone the repository and copy the solution dir to nlp_architect folder.
Place the following Dockerfile inside nlp-architect and run it from nlp-architect dir.
cd nlp-architect/
docker build -t nlp-architect .

FROM ubuntu:18.04
LABEL maintainer="Intel AI Lab NLP [Steve's working solution]"

RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y bash build-essential ca-certificates python3 python3-pip git vim && \
    rm -rf /var/lib/apt/lists && \
    apt-get clean

RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools

ENV LC_ALL=C.UTF-8

WORKDIR /workspace

COPY . /workspace/nlp-architect/

WORKDIR /workspace/nlp-architect/

RUN pip install -e . && \
    pip install -r nlp_architect/solutions/absa_solution/requirements.txt

RUN python3 -m spacy download en

ENV BOKEH_ALLOW_WS_ORIGIN=[YOUR LOCAL HOST IP (e.g <IP_ADDRESS>)]:5006

WORKDIR /workspace/nlp-architect/nlp_architect/solutions/absa_solution/

CMD ["python3","ui.py"]

EXPOSE 5006

Running it with or without mounted dir (with embeddings and rerank models) gives the following error:
ValueError('Error: Terms file is empty, no terms to re-rank.', )
It happens on the third iteration.

Hi @stevesolun
As per our conversation, this error is caused by wrong CSV format.
Please open a PR for the other str decoding bug you discovered.
Thanks


tr: use FnvHashMap instead of default HashMap backed by SipHasher

FnvHashMap is much faster for small inputs like intergers, and we literally have a hashmap with chars as keys in tr. This reduces runtime for tr in substitution mode from 40 seconds to 30 seconds on my 1.7Gb unicode test file.
Using FnvHashSet instead of BitSet in tr delete mode did not measuarably impact performance, so I did not convert it. I have also grepped for "Hash" and checked if using FnvHash made sense in other places; it did conceptually, but did not result in measurable performance improvements, so I did not convert those.
This adds dependency on the fnv crate, but it's quite mature and even used inside rustc itself, so that should not be a problem.

Ah, sorry I didn't get to this earlier.  This is fine with me.


Docs.MS Release Updates for Azure.Template

Update docs metadata and targeting for release of Azure.Template

Docs Build status updates of commit 582ace1:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

Line 136: [Error] Restore nuget package W:\a0y2-s\.optemp\dependentPackages\Microsoft.DocAsCode.ECMA2Yaml\packages.config in folder:W:\a0y2-s\.optemp\packages failed, possibly due to transient errors from nuget servers. Please retry building your content. If the issue still happens, open a ticket in https://SiteHelp and include the build report and the following error message for our team to troubleshoot: Errors in packages.config projects     Unable to find version '1.1.762' of package 'Microsoft.DocAsCode.ECMA2Yaml'.       C:\Users\ContainerAdministrator\.nuget\packages\: Package 'Microsoft.DocAsCode.ECMA2Yaml.1.1.762' is not found on source 'C:\Users\ContainerAdministrator\.nuget\packages\'.       https://docfx.pkgs.visualstudio.com/docfx/_packaging/docs-build-v2-prod/nuget/v2: Failed to fetch results from V2 feed at 'https://docfx.pkgs.visualstudio.com/docfx/_packaging/docs-build-v2-prod/nuget/v2/Packages(Id='Microsoft.DocAsCode.ECMA2Yaml',Version='1.1.762')' with following message : Response status code does not indicate success: 503 (Service Unavailable).       Response status code does not indicate success: 503 (Service Unavailable).

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Fixes #2

Adds the icon to the tree view, not sure if the eye should be open when showing the files or closed, thoughts ?
Also added detecting if the config is changed manually. It's a bit redundant when it's changed via the commands as it sets context again, but without setting it via the commands there was a slight lag with the icon changing when clicking it.
Also adds support for workspace settings, which it leaves as false rather than undefined so the setting stays if they toggle back

@mikeburgh, this is beyond amazing! Thank you for your contributions, and my sincerest apologies for the ahem months-long delay!

not sure if the eye should be open when showing the files or closed, thoughts ?

Excellent pattern; I agree! Allow me a bit to review the change and poke around, but I'm loving your updates. Thanks again!

Hope you don't mind, @mikeburgh, but my feedback was so minor and these are such good improvements, I wanted to get them in!

No worries at all, I was on the road so only just getting back to look at them now anyway.


Proxy driver for Oracle DB

Dear Philip,
I am a security consultant which works in several IT projects.
I was reading and reviewing your project "sqldev-jdbc-proxy" which I see very interesting and simple to use. So congratulations for it, it is great!
I was wondering if you could help with a similar case I have, maybe your knowledge can be key in finding the solution of the problem.
In one of the projects in which I am involved, we need to build a proxy between SQL Developer and an Oracle DB. This use case is a litle bit different to the one your project covers, but I think we could use some of the principles you were using.
In my case, I am emulating an Oracle driver (oracle.jdbc.OracleDriver like in ojdbc8.jar) in a proxy driver I did, very similar to yours which will intercept the SQL queries from sql Developer.
To have it working, I copy it in sqldeveloper\jdbc\lib replacing the original driver ojdbc8.jar, then I add it as Third Party Driver in SQL Developer.
At the begining it works, due SQL Dev let me configure it as it was an Oracle driver, then when I try to connect, it contact this proxy driver sending the jdbc URL to connect.Until here everything is fine.
The issue comes when this proxy has to call the original Oracle jdbc driver ojdbc8.jar to stablish the real connection.
If I add ojdbc8.jar it in the classpath, then sql developer detect it first and bypass my proxy, if I put it in the classpath of the manifest file of the jar of the proxy driver, same behaviour, if I add it as a lib to add in the sqldeveloper.conf, same behaviour, etc.
I was wondering if you have any idea on how you think this could be fix.
Thanks!
Kind regards

IMO this question is a bit off-topic. I hope you understand that I cannot provide free support for other projects.
That said, I suggest to replace all occurrences of ojdbc*.jar with your proxy. Furthermore you should ensure that the proxy and the real driver do not register the same class (see META-INF/services). It really depends on how the driver is loaded in SQL Developer. Maybe you have no choice than to patch the original ojdbc*.jar files to make it work.
Good luck.


Elastic Cache Tasks Added.

@Bhuvanesh-J   can you create new pr for this tester please? And make sure you push the latest version

@zina-mev The new version of elastic cache is already merged , the PR is raised by Bhuvanesh-J


API is meaningless or even harmful

I cannot think of a case when the single is_leader(Key) returning boolean may be useful. Its result may easily obsolete even before a process who called the function get a chance to analyze the result. At the very least it should return the amount of leader-lease time remaining and the time when this reminder has been taken.

Hey @sumerman,
well, riak_governor is not meant to give any guarantees that leader won't change while some code is being performed based on is_leader results.
However:

it is based on raft (rafter backend), so if there is no network partitions or node failures, leader won't change; there is no lease time. (@darach, how it behaves with riak_ensemble?)
is_leader calls a local process for leadership, so process who called the function should receive an information very fast, I wouldn't be worried about huge latency.
when there is a leader election (after network partition, node failure) leader may change and some race conditions might occur (one action on old leader node started, then new action on new leader node started), I see two solutions here:

make actions commutative (it is what I'm doing in my project at the moment)
we consider another api to subscribe to leader change event

I hope that helps,
Lukasz

I actually find the idea of having API to detect a primary replica for a set of keys to be very useful.
The project I am working on now is a distributed task processing scheduler.  Jobs which should be executed on remote hosts are distributed across riak_core ring and each physical node in the cluster needs to process the tasks from the local to this host vnodes.
The issue is that I want to have a readability - which means I need to keep multiple replicas of each task in the different vnodes but on the other hand I want to make sure that each task is processed only once.
so, having ability to take a task from the vnode, and check if it is the primary or secondary replica is very useful.
I have to admit I would prefer if the default consensus protocol was Paxos (via riak_ensemble). I see that there are a way to switch between riak_ensemble and rafter but I don't understand why rafter is specified as pre-requisite to start riak_leader even if riak_ensemple is used.
in riak_governor/src/riak_governor.app.src
{applications, [stdlib, kernel, riak_core, rafter]},
in any case, on my opition  - this is cool and useful project. I am looking forward to full riak_ensemble integration and example how to use it.
thank your guys to building this.
Regards, Roman

Hi Roman,
The riak_ensemble provider still needs a few adjustments/changes but one of my use case(s) is not dissimilar to yours so I'm fairly certain this will work for you too. I was going to use a locks/locks_leader based approach but there were issues with healing under certain conditions.
Cheers,
Darach.

@RomanShestakov

The issue is that I want to have a readability - which means I need to keep multiple replicas of each task in the different vnodes but on the other hand I want to make sure that each task is processed only once.
so, having ability to take a task from the vnode, and check if it is the primary or secondary replica is very useful.

It's not possible with a current API because is_leader may return true to several nodes (almost) simultaneously. E.g. Given that [A, B, C] are replicas for the key K1 and a leader process P_Al this key resides on the node A :

Node A becomes isolated from the others.
During a last couple of milliseconds before the netsplit can be detected by the underlying consensus algorithm a process P1 on the node A calls is_leader(K1).
P1 ends up in a receive statement and goes off the scheduler.
Local leader P_Al processes the request from P1 and sends true back.
On each node a timeout in a consensus peer fires and a new election begins.
P1 returns back to the scheduler and proceeds as if it was on a leader node.
Node process P_Bl on the node B becomes a new leader.
Process P2 on the node B calls `is_leader(K1).
P2 ends up in a receive statement and goes off the scheduler.
Local leader P_Bl processes the request from P2 and sends true back.
P2 returns back to the scheduler and proceeds as it should on a leader node.
The network heals.
Despite a sequence of events like this seems unlikely, it can easily occur in a local network where latencies are relatively low.
Voilà a task is being processed by two nodes simultaneously.

thanks Valery, this is interesting example. sign, nothing is ever easier with distributed systems. thanks for pointing this out.

Darach - would you be able to share your use case if it is possible?

Hi @loucash
If, riak_governor is not meant to give such guarantees, this should be stated in bold in the first line of README. Can you give me an example where such API can be useful?

it is based on raft (rafter backend), so if there is no network partitions or node failures, leader won't change; there is no lease time.  (@darach, how it behaves with riak_ensemble?)

In Raft (and rafter in particular) a peer will start a new election only after some timeout from the last AppendEntries received. This timeout technically is a leader lease.
riak_ensemble uses leader leases for the same purpose.
Unfortunately both libraries does not expose these leases.

I see two solutions here:

make actions commutative (it is what I'm doing in my project at the moment)
we consider another api to subscribe to leader change event

Why do you need a leader election at all if actions in your system are commutative?
This won't solve the problem. A process may have a pile of leader/not_leader in it's message box when it gets scheduled with no way to figure out which statement is true.

I would really like to have am API similar to the wooga/locker or some disclaimer on right and wrong use-cases in the README.
Valery.

Hi @sumerman,
riak_governor is still under development, you are right, we will update README.
Actions differs from data by having a duration.
Nodes can agree on a leader who will perform an action, but it still may fail (network partitioned) and the same action will be performed elsewhere.
The one thing I can advise is to make your action fast.
Keeping above in mind leader lease is useless too.
You will also end up having two actions performed by two nodes.
Consider an example: you have nodes n1, n2, n3. Leader node n1 has a lease for 2000ms, starts an action that takes 3000ms (or whatever, lease ends up in 300ms, your action takes 500ms ...), after 1000ms n1 is separated from n2, n3,  node n2 becomes a leader and starts an action. Voilà.

Why do you need a leader election at all if actions in your system are commutative?

Because those actions are (potentially) expensive, if possible I want to perform them once (best effort).

This won't solve the problem. A process may have a pile of leader/not_leader in it's message box when it gets scheduled with no way to figure out which statement is true.

Messages in message box are ordered, right? So it is some solution to notify your action about leader change. Probably the same you would do with the lease: "send me a message after lease time ms to check if I am still a leader". Am I right?

I would like to see an API similar to the wooga/locker or some disclaimer on right and wrong use-cases in the README.

We will work on use-cases. Stay tuned.
Cheers,
Lukasz

Hi guys,
There isn't a single consensus framework I've looked at that doesn't have issues. Most do not document the conditions under which they occur or indicate appropriate actions w.r.t. recovery when catastrophic. There are nuances, tradeoffs and features that all deserve consideration.
All riak_governor does is make these libraries reasonably pluggable. The caveat emptor for any given scenario is that certain uses MAY not be a good fit for the riak_governor API as it currently stands. Clearly, an is_leader predicate is good enough for a lot of use cases - mine, Lukasz's, Heinz's. Clearly, it isn't for others - Yours or any use case where leasing is nice to have.
Valery, if the steps you outlined are an important use case for you then you can contribute that as a test:
https://github.com/Licenser/governor_test
I have a use case that would benefit from wooga/locker in the future as leasing would be advantageous so I appreciate the concerns you have with an is_leader predicate. I wouldn't use an is_leader predicate there either. But, it is more reasonable to recognise that the shape of problem our use case brings to the table is different from the API offered. That's ok as riak_governor is a work in progress.
Adding wooga/locker as a provider would be a valued contribution as would an API that is
more lease oriented. If this is important to you it just means you're likely to get to it first. So,
feel free to submit a PR here... We all benefit!
Cheers,
Darach.

Oh. #riak_governor on freenode if you want to irc.


[auto-bump] [no-release-notes] dependency by jennifersp

:coffee: An Automated Dependency Version Bump PR :crown:
Initial Changes
The initial changes contained in this PR were produced by `go get`ing the dependency.
```
$ go get github.com/dolthub//go@
```
Before Merging
This PR must have passing CI and a review before merging.

bumped in https://github.com/dolthub/go-mysql-server/pull/2473


feat: Add support for ETC chains

Add basic safe apps for ETC chains

Close as it has been replaced by #3


Retire old ebpf_performance tests

The existing ebpf_performance tests have been exceeded replaced by the in-kernel BPF performance tests.

Move the Bpf perfromance tests to netperf, as it will provide stable results and the ability to query previous data and automatically block PRs if a regression is detected.

Test still serve as a good stress test. They shouldn't be retired.


Fix compilation error with ESP-IDF v5.1.1

This fix is taken from https://github.com/lovyan03/LovyanGFX/blob/develop/src/lgfx/v1/platforms/esp32/common.cpp#L825-L830

Thanks!


DataGrid Headers do not Display

Describe the bug
When using the Avalonia datagrid control the headers for the columns of the datagrid are not displayed.  This occurs when using either AutoGenerateColumns=true or when specifying the columns headers and bindings.
Screenshots

Desktop/Platform (please complete the following information):
OS: Windows 11 Build 10.0.22631 and Linux Mint 21.3 Virginia 6.5.0-15-generic x86_64
FluentAvalonia Version 2.05
Avalonia Version 11.0.7
Additional context
If the FluentAvaloniaTheme is removed from the Application Styles and replaced with the FluentTheme the headers appear as expected.

you have make sure the StyleInclude is done correctly? If so, please upload a minimum sample

Thanks for taking the time to look at this.  A sample VS2022 project is attached.
DataGrid.zip

I found the issue.  I had included styling for the datagrid.  Sorry to waste your time.

@Adaj22 you're welcome. However, please close the issue if it is working for you now. Thx.


Warning Extension Functions

## Checks if any warnings (either all or of a specified type) are attached to the value.

   Arguments:
   - warning_type: The type to check if attached to the value. Defaults to any warning.
Any.has_warnings : Any -> Boolean
Any.has_warnings self warning_type=Any = ...

## Remove the warning s(either all or of a specified type) attached to the value.

   Arguments:
   - warning_type: The type to remove if attached to the value. Defaults to all warnings.
Any.remove_warnings : Any -> Any
Any.remove_warnings self warning_type=Any = ...

## Throws the first matching warning (either all or of a specified type) as a data flow error.

   Arguments:
   - warning_type: The type to throw if attached to the value. Defaults to all warnings.
Any.throw_on_warning : Any -> Any
Any.throw_on_warning self warning_type=Any = ...

Distinctly less simple than I hoped it would be...


Update 2.0 functions and operators doc

Fixes #2424
Fixes #2507

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/e28661128d46e151de9b4f8beb59dba487082e53/

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from Reviewable


make_Lastz on Cactus-447-mammalian-genome dataset

Hi,
I have a question regarding running LASTZ similar to what they did for the TOGA paper. In my case, I have Cactus 447 mammalian genome dataset. I converted it from Hal to fasta, removed ancestral sequences. and now I have two fasta files from that dataset: one with just human genome sequence and another with the rest 446 mammalian genomes as one fasta file. I am wondering if I can run make_lastz_chains on that query fasta file? thank you.

Good question. I think there is no point of extracting the genomic fasta seqs from the Cactus alignment and then aligning them again to human to get chains. If you want to do that, you can also just start with the full genomes of these species.
But I guess the best would be to extract pairwise alignments (in chain format) from the cactus alignment.
This should hopefully be possible, but how to do this is something that should pls be directed to Benedict Paten and the Cactus developers.

Hi Michael,
Thank you for getting back to me. I have a couple of follow-up questions.
I am trying to run LASTZ & then TOGA to get coordinates of protein-coding regions for all 447 mammalian genomes in the Cactus dataset.
I thought that similar to your TOGA paper, the approach would be to perform LASTZ and then TOGA on the dataset.
Is there a better way to do this? Or an alternative?
"If you want to do that, you can also start with the full genomes of these species." Could you please elaborate on this?
Thank you

Hi,
the coordinates of all orthologs that TOGA found are in the bed or gtf files we provided. If this is what you need, you don't have to run anything.
If you have new genomes, then the easiest is to align them using our lastz/chain pipeline to a reference and then running TOGA.
Hope this helps


Error compiling rustless

I've been testing out rustless for a while but the latest version currently does not compile due to the following error:
native library `openssl` is being linked to by more than one package, and can only be linked to by one package

  openssl-sys v0.6.7
  openssl-sys v0.7.0

@dariusc93 this is because https://github.com/iron/iron/commit/32f8dfc65c87949c5a6b55a168298c81661cce1d. Everything is fixed in v0.7.2

Thanks for your report!


Jenkins CLI CVE mitigation

Description
Jenkins CLI CVE https://www.jenkins.io/security/advisory/2024-01-24/ mitigation
Issues Resolved
https://github.com/opensearch-project/opensearch-ci/issues/386
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Validated at personal public AWS account, the Jenkins CLI page resulted in 404 Not Found error as expected.


Unhandled Promise Rejection: cannot traverse directory

Describe the bug

dialog.open()  is going well, The path was obtained successfully.
then  use fs.readDir() to read the path, got  cannot traverse directory
Reproduction
No response
Expected behavior
No response
Platform and versions
yarn tauri info
yarn run v1.22.17
warning package.json: No license field
$ tauri info

Operating System - Mac OS, version 12.2.1 X64

Node.js environment
  Node.js - 14.19.0
  @tauri-apps/cli - 1.0.0-rc.4
  @tauri-apps/api - 1.0.0-rc.1

Global packages
  npm - 6.14.16
  pnpm - Not installed
  yarn - 1.22.17

Rust environment
  rustup - 1.24.3
  rustc - 1.58.1
  cargo - 1.58.0
  toolchain - stable-x86_64-apple-darwin

App directory structure
/dist
/node_modules
/public
/src-tauri
/.vscode
/src

App
  tauri - 1.0.0-rc.2
  tauri-build - 1.0.0-rc.2
  tao - 0.6.2
  wry - 0.13.2
  build-type - bundle
  CSP - default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'
  distDir - ../dist
  devPath - http://localhost:3000/
  framework - Vue.js
✨  Done in 37.36s.

### Stack trace

_No response_

### Additional context

_No response_

tauri.conf.json:
{
  "tauri": {
    "allowlist": {
        "all": true
  }
}

While that would work, what @mxismean is suggesting will bloat your final binary and potentially expose your app to unneeded attack surface. Please consult this page: https://tauri.studio/docs/api/config and determine what it is EXACTLY that you need to enable. (If that really is the underlying problem here...)

I know.
The current problem is：
fs.readDir() to read the path, got   ❌ cannot traverse directory

The version used when creating the project is:
"@tauri-apps/cli": "^1.0.0-beta.10",
"@tauri-apps/api": "~1.0.0-beta.8",
tauri-build = { version = "1.0.0-beta.4" }
Everything is ok with this version.✅
Yestoday,  I upgraded the version to:
"@tauri-apps/cli": "^1.0.0-rc.4",
"@tauri-apps/api": "^1.0.0-rc.1",
tauri-build = {version = "1.0.0-rc.2", features = [] }
fs.readDir() api   began to report errors

Please see this section:
https://tauri.studio/docs/api/js/modules/fs#security

The reason for scoping the API, is because otherwise the UI could theoretically access anything the user has access to, which while it sounds contradictory, is a very real security concern.

However, if my application does need to access any file directory, can it only be satisfied by customizing Rust

Yes.
In regards to your initial question however, we're looking into some kind of whitelist system to allow user-selected paths (dialog/file-drop) to bypass this limitation.

Okay, really looking forward to it.😄

in the meantime, try this:
      "fs": {
        "scope": ["$USER/*"]
      }

ok 👌🏻

这将要求他们编辑从对话框返回的路径以不包含该/home/username/路径_并_在 readDir api 上使用 BaseDirectory 枚举。 让我们说我们真的没想到😅但这就是预发布版本的用途，幸运的是，我们有足够多的用户试用这些版本并报告我们错过的内容💪

That would require them to edit the paths returned from the dialog to not contain the /home/username/ path and use the BaseDirectory enum on the readDir api. Let's just say that we really didn't think that one through 😅 but that's what pre-release versions are for and luckily we have enough users trying out these versions and report stuff we missed💪

haha，yes 💪🏻

On windows, I tried a lot and failed, Always cannot traverse directory
const b = await fs.readDir('E:\\code\\tauri\\')
    "allowlist": {       "all": true,       "fs": {         "scope": ["E:\\code\\*"]       }     }

@cuizhijun Your issue seems not completely related to OPs issue. Did you try  "scope": ["E:\\code\\**"]? Iirc the single * allows for files and ** allows for sub directories and their files.  Does reading "E:\\code\\test.txt work with your current allowlist?

@cuizhijun您的问题似乎与 OPs 问题并不完全相关。你试过了 "scope": ["E:\\code\\**"]吗？Iirc 单*允许文件并**允许子目录及其文件。阅读"E:\\code\\test.txt适用于您当前的许可名单吗？

Yes, I've tried a lot, and will my program continue to have this problem when the user installs the software elsewhere, because he can't find the specific directory I specifiedYes, I've tried a lot, and will my program continue to have this problem when the user installs the software elsewhere, because he can't find the specific directory I specified

@cuizhijun Please take a look at the page @nothingismagick sent a couple of days ago: https://tauri.studio/docs/api/js/modules/fs/#security.
Absolute paths (in this case paths starting with E:) are not allowed on the javascript side! Also keep in mind that this most likely won't work on any system other than your own.
If you absolutely need to do stuff like this you have to do it in rust (be careful with paths coming from the js side).

Tauri is a framework for building tiny, blazing-fast binaries for all major desktop platforms.

The whitelisting system sounds great, and if the user can't use their directory/file selected in the dialog in the desktop application, they will get confused about it.
With the best wishes awaiting the whitelisting system.

always Unhandled Promise Rejection: cannot traverse directory
"allowlist": {
"all":true,
"fs": {
"scope": ["$USER/**"]
}
},
window.TAURI.fs.writeFile({ path: /Users/xxxxxx/Downloads/aa.txt }, {})

@spirityy As said before absolute paths are currently not allowed. WIth https://github.com/tauri-apps/tauri/pull/3595 being merged this will change in the next release.
Until then you could try it like this
fs.writeFile({path: 'aa.txt'}, {dir: fs.BaseDirectory.Download})

@FabianLars  But the base directory was created by Dialog.open , there wan't a particular path before writeFIle

The PR that Fabian linked too fixes exactly that issue, Dialog.open returns an absolute path, so wasn't usable, the PR fixes that by adding the returned path to the allowed scope automatically for you


Make subscription name case insensitive in slash commands

When using slash commands the subscription will not be found if the the capitalization of the alias does not match. This can become frustrating to use.
When passing in an alias in a slash command, it would be better if these were case insensitive.

Would like this before publishing to Marketplace... @mickmister


Aggregate actual data

Our industry partner pointed out how important it is, to get started with collecting (at least some) data from external data sources as soon as possible. This way we can progress more quickly with the EVP and just as important can we provide our industry partner with first valuable data.
Verifying
TODO: Add common instructions for verifying.
Implementation Notes
Try to keep number API calls low! E.g. try not to re-run the same queries too often. Experiment with small datasets.
Done?

Verify collected data for at least 20 leads.
Have at least one additional external data sources set up.
Document what data is available from that source.
Demonstrate functionality by retrieving some actually valuable data for at least some leads.
At least one unit test case per data source.

In #51 we added the results of our mob programming session on thursday:

Basic Pipeline/Step Framework to build on
Data Enrichment / Manipulation through pandas dataframes
Parsing Emails for custom domains
Parsing those websites for physical business addresses
Searching for the domains in Google Places and storing formatted_address, user_ratings_no, business_status and name
Added some test cases for the pipeline and API usage limits

I'll be experimenting with GPT as a data source using our new framework this week.

I will integrate the phone number features as a step into the pipeline
I thought because of my study background (and around 70% of the companies are german), I will focus on this data source: https://github.com/bundesAPI/deutschland. To get financial information like Handelsregister/Bundesanzeiger and also demographical features (age distribution in a region, etc.)

Additional potential data sources:

Social Media

X
TikTok
Instagram
Facebook

Detailed website parsing (e.g. Imprint/Impressum)
Checking commercial email accounts (e.g. <business.name>@gmail.com), which are currently ignored

@Tims777 i think it makes sense to convert the bulletpoints to draft issues so we can keep track of all the ideas

@Tims777 i think it makes sense to convert the bulletpoints to draft issues so we can keep track of all the ideas

Good idea!

1. openAI APIs (GPT)
- GPT-3

Overview: he GPT-3 API is the most widely known and used. It offers access to the powerful language model, GPT-3, which can generate text, answer questions, summarize content, and more. The API provides various endpoints for different tasks, including completion, search, and conversation.
Features: Customizable prompts, adjustable parameters for response control (like temperature and max tokens), and a choice of different models under the GPT-3 umbrella.
Usage Limits: The API has usage limits based on the subscription plan. OpenAI offers both free and paid plans with varying levels of access and usage limits.
Python Integration: OpenAI provides an official Python client library for the GPT-3 API. This library simplifies authentication, request making, and response handling. It's well-documented and easy to use.

- Fine-Tuning GPT-3 API

Overview: OpenAI also offers the capability to fine-tune GPT-3 models. This allows developers to train the model on specific datasets to better suit their unique use cases.
Python Integration: The fine-tuning process can be managed using the same Python client library as the standard GPT-3 API.

- GPT-4 API

Overview: The GPT-4 API extends the functionalities of GPT-3, offering more advanced capabilities, a larger context window, and improved response accuracy.
Access: Initially, access to the GPT-4 API was limited to ChatGPT Plus subscribers, but it has been gradually opening up for wider usage.
Python Integration: The integration method is similar to GPT-3, using the same Python client library provided by OpenAI.

- General Points for OpenAI's GPT APIs

Authentication: Access to these APIs requires an API key provided by OpenAI. This key is used for authenticating requests.
Documentation and Support: OpenAI provides comprehensive documentation, including guides on how to use the APIs with Python.
Compliance and Guidelines: Users of the API must comply with OpenAI's use-case policies and guidelines.

2. Social Media APIs
- Instagram API

Official API: Instagram Graph API allows for managing media objects, reading data, and performing actions on behalf of Instagram Business Accounts. However, it has limitations for personal accounts.
Python Integration: There are Python libraries like instagram_private_api for personal accounts, but they are unofficial and may have limitations or risks.

- TikTok API

Official API: TikTok has an official API for accessing and managing content, user interactions, and more. It's mainly geared towards businesses and developers creating marketing and analytics tools.
Python Integration: Python libraries such as TikTokApi provide a way to interact with TikTok data. Note that these libraries often face challenges due to frequent changes in TikTok's internal API.

- Facebook API

Official API: The Facebook Graph API allows access to data on Facebook, including user profiles, groups, posts, and more. It's a comprehensive API with extensive documentation.
Python Integration: Python's facebook-sdk library is a popular choice for interacting with the Facebook Graph API.

- Twitter (X) API

Official API: Twitter offers an API for accessing tweets, user profiles, sending tweets, and more. The API is well-documented and widely used.
Python Integration: Libraries like tweepy make it easy to interact with the Twitter API using Python. It provides methods for most Twitter API endpoints.

- General Points for Social Media APIs

Each of these APIs requires proper authentication, typically using OAuth, and adheres to specific usage limits and guidelines set by the respective platforms. Developers need to register their applications with the platform to get the necessary credentials for API access.
Additionally, due to the changing nature of these APIs, it's important to stay updated with the latest documentation and terms of use.

As specified in the meeting summary from 13/11/23, Andi shared the following ideas:

I would first go wide!! After we have the:

Density in the area
sum up customers in the area
how much rev. did they generate

From the Google Places API framework, we can also retrieve the coordinates of the company. The "Nearby Search" API, also from Google can be used to find information on surrounding companies:
https://developers.google.com/maps/documentation/places/web-service/search-nearby

Facebook Graph API: After implementing Facebook Graph API on branch feature/social-media-api, unfortunately, Facebook Graph API does not allow getting the users' id, which is required to get more info about the user. The access to this functionality has been limited and restricted in many cases.
Instagram API: instagram_private_api API is not officially supported by Instagram and using it violates Instagram's terms of service.

GPT3 API: GPT3 basic structure implemented (yet to be pushed), however there have been many problems with experimenting with the free API. Max RPM is 3, and max RPD is 200. Further, the amount of free credits is only $18. It would be worth asking SumUp for the GPT API key (if they have one).
Bing Search API: I found that GPT wasn't helpful with providing additional data on companies we have extracted using the Google API. However, I thought about using its ability to synthesise information. In a way to mimic the Bing GPT search extension (which doesn't have an API), we could use the Bing Search API to retrieve online information from social media etc, then feed the results into GPT. However, I also had trouble with accessing the Bing Search API free trial to experiment with this.

Closing this at "not planned" since the definition of done was partially incomplete and deviates from what was actually required.
For the record: Parts of this have indeed been completed already. Other parts are now being tracked by the following items:

#71
#73
#74
#75
#76
#77
#78


feat: port reth pooled tx type

migrates the reth PooledTransactionElement type and renames it to just PooledTransaction.
@klkvr I assume we can simplify the decode/encode impls now

hmm, good question.
The TxEnvelope is an integral part of the entire alloy client side API,
imo this extra type isn't too bad, and I'd rather have it separate


Handle scaled output canvas correctly

This pull request fixes an issue with vector tile rendering in image mode when decluttering is disabled. See https://github.com/openlayers/openlayers/issues/10553#issuecomment-621028735 for a description of the problem.
The reason was that instruction executors did not know about the scale of the output canvas, so the calculation whether a geometry is inside the canvas failed.
Should fix #10553

The CI error will be fixed with #10983. I'm going to rebase this pull request when that is merged.

Rebased, all green now.


Refresh folder when opening

A config to be able to specify if a folder should be re-indexed when navigating away and back to it would be great or if it could detect changes in a folder.
At the moment if I remove, add or rename files the changes won't appear unless I destroy and recreate the browser.

In line with #10, I wonder if this would be better handled by exposing the model more. Ideally when you alter filesystem structure on disk the model would detect that (either automatically by hooking into fs events or manually by an explicit refresh).
Feels like there are two things here:

Manual refresh button for the user to initiate a refresh of current view (for when the user knows their view is out of date).
Developer hooks to allow control of model so that a different model that detects changes / always calls os for listings can be swapped in.


Update to use openff-toolkit

Currently, the package is very hard to use due to the dependencies and a few other packages need to change first before we can update bespokefit.
TODO

[ ] Update bespoke-fit to use openff-toolkit
[ ] Wait for a new QCEngine release that uses openff-toolkit
[ ] Wait for a new forcebalance release that uses openff-toolkit
[ ] Update qcsubmit to use openff-toolkit

Closed by #19


The link to React Conf 2021 Videos is broken

The link to React Conf 2021 Videos is broken in the Caution quote field.
The link should be changed from http://localhost:8000/blog/2021/12/17/react-conf-2021-recap.html to https://youtu.be/8dUpL8SCO1w .

Thanks, deploying a fix.


markdown Image error

To Reproduce
![](https://miro.medium.com/v2/resize:fit:4800/format:webp/1*qHtOm0c0IXsefOd2W7VECg.png)
Using external links will generate
Current vs. Expected behavior
Show picture
Provide environment information
Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 10 Pro
  Available memory (MB): 32656
  Available CPU cores: 12
Binaries:
  Node: 20.15.0
  npm: N/A
  Yarn: N/A
  pnpm: 9.6.0
Relevant Packages:
  next: 14.2.5 // Latest available version is detected (14.2.5).
  eslint-config-next: N/A
  react: 18.3.1
  react-dom: 18.3.1
  typescript: N/A
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)
Not sure
Additional context
No response

For external images you must specify width and height for Next.js Image to work


add default name for quickfix and location list buffer

does that fix #2229? Please add documentation for hte new variables.

@chrisbra  Not for Fix #2229. just set quickfix buffname  instead of No_Name


add vite-plugin-inline-css-modules

Although not exclusive to Solid, I still think this is a valuable tool that improves the DX of writing Solid components. Seems like other framework-agnostic solutions such as ZagJS are also listed, so it should still make the list imo.

Thank you @Bluskript for the PR. I'll merge this right away!