Isaac/callout

Attention (CC)

@MaximumCrash
Summary of changes

Added Callout component with mdx child rendering, primary/secondary styles, and icon support

Motivation & Context

Issue: #15

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation Update
[ ] Other (please describe):

Does this introduce a breaking change?
Breaking change is defined as "A fix or feature that would cause existing functionality to change."

[ ] Yes
[x] No

Checklist:

[x] My code follows the code style of this project.
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added/changed necessary documentation (if appropriate)
[ ] All new and existing tests passed.

How Has This Been Tested?
Locally

Screenshots (if appropriate):
Further comments
MDX children need to be "sandwiched" between newlines in order to render properly, as per bug discussed with @MaximumCrash.
Usage examples:
<Callout>
  This is a callout with default primary style and no icon!
</Callout>

<Callout secondary>
  This is a callout with secondary style and no icon!
</Callout>

<Callout icon>
  This is a callout with default primary style and the default "warning" icon from dai-ui-icons!
</Callout>

<Callout icon="search">
  This is a callout with default primary style and the "search' icon from dai-ui-icons!
</Callout>

<Callout secondary icon>
  This is a callout with secondary style and the default "warning" icon from dai-ui-icons!
</Callout>

<Callout icon="eye" secondary>
  This is a callout with secondary style and the "eye" icon from dai-ui-icons!
</Callout>

<Callout>

  ## Header between line breaks

  This will render the header correctly, because there are newlines before and after the MDX child.
</Callout>

@isaacpearl I've updated your code on callout a little bit to be cleaner. Here's my feedback:

Don't inline colors, add them to the theme file.

bg: secondary ? '#fdefd9' : '#eff0f2',
          border: secondary ? '1px solid #f5b13d': 'none',

When in doubt about colors that don't exist in the dai-ui, that's where going into the gatsby-plugin-theme-ui/index.js file and adding your own colors comes in like so:
colors: {
...otherColors,
callout: '#f4f4f7',
    calloutSecondary: "#fdefd9",
    calloutSecondaryBorder: "#F5B13D"
}

which turns your SX into
bg: secondary ? 'calloutSecondary' : 'callout',
          border: secondary ? '1px solid': 'none',
          borderColor: secondary ? 'calloutSecondaryBorder' : 'initial'

The reason is because if we need to change the callout color in the future (which we will), then you'd have to update everywhere in code that inlined color exists. By just setting the keyname we don't have to update a bunch of code in the future. (This is important for darkmode)

Don't use a div (Box) if you don't have to.

Originally for the Icon you had:
{ icon ?
        <Box
          p={1}
          sx= {{
            display: 'flex',
            flexBasis: '5%',
            minWidth: "3em",
            justifyContent: 'center',
          }}>
            <Icon name={typeof(icon) === "string" ? icon : 'warning'} sx={{size: '3em'}}/>
        </Box>
      : ''}

To an extent making the icon a flex, won't be necessary since the only thing that grows and shrinks is the content besides it. So we can simplify this to remove the Box component and focus on styling the children styles.
{ icon && <Icon name={typeof(icon) === "string" ? icon : 'warning'} sx={{minWidth: '32px', minHeight: '32px', mr:'10px'}}/>}

Also note that you can simplify your jsx for rendering a component to not do a ternary check, with an empty string or null, by using &&.


test queue with a few people

hard to do alone with 10 years old gpu

noticed that when the server crashes sometimes ppl fallback to the "queue server" without getting added to the queue itself, staying forever on the server

queue plugin is working good on a live server


Bulk Edit

Hi,
I've been having a problem with my Bulk Edit functionality. I want to select a number of records from my grid and click a button to change a status on the selected records. I've tried to follow the examples but I still can't get the last step to work. So if anyone could PLEASE help I would be really grateful. It has been wrecking my head for the past few days.

I have added the button the grid.
I can select multiple records
Click button to display another form with one field that can be changed for all selected records
When I click the Update button this popup dialog it crashes.

This is the code for the button
var dialog = new Default.DeliveryBEDialog();
dialog.SendSelected(selectedIDs);
dialog.dialogOpen();
this.rowSelection.resetCheckedAndRefresh();
So this is working. It displays a popup dialog with a dropdown list.
I am struggling with the next step.
I have tried to follow the samples but I can't get the next step to work, where the selectedIDs and the selected Status are passed to a function in the Endpoint

Got it working.


Use after_teardown instead of before_teardown in MiniTest

This should fix #131, where I described the problem in details.

cc @ChrisBr @JuanitoFatas @shioyama

Awesome, thanks everyone!


Translate "most active members" embed to Finnish

Everything else on the server is in Finnish so let's stick with that ;)

Also good job on the profile picture graphic masking, looking good.

I'll try this one

Closed in #39


[docs] Please update autocomplete docs to give current workaround for suppressing autocomplete on Chrome browser

Duplicates

[X] I have searched the existing issues

Related page
https://mui.com/material-ui/react-autocomplete/#autocomplete-autofill
Kind of issue
Other
Issue description
I was looking for a way to suppress chrome autofill in an autocomplete field  and it appears that as of January 2023 none of the recommendations documented work for my case.
The only solution that worked for me is adding a zero width joiner character to the middle of the field label as described on this page:
https://stackoverflow.com/a/70031071/267332
Might save a dev some time if that's on the docs page.
Context 🔦
No response

This works for me: I use renderInput to return a MUI TextField, and I set the TextField's inputProps prop to:
inputProps={{
  autoComplete: 'new-password',
  'aria-autocomplete': 'none',
}}

We may link to the StackOverflow question to show possible solutions instead of listing all of them here. Would you like to create a PR?

Hi @michaldudak @suethepooh can I go ahead and submit a PR for this ?

sure thing.  It would be great if the docs mention that there may be some trial-error in finding the solution that works for an individual.

@legendarykamal sure, go ahead!


HA color picker issue on solid animation on version Apr 2, 2017

Hey guys,
first of all let me thank you for your work on the sketch. It works like a charm!
Here's an issue I'm struggling with: When you pick a color, the bulb icon will reflect the picked color correctly, while the actual color being sent to the strip is the mirrored one from the color picker. (Kinda hard to explain actually...) Some examples..
Solid animation:

You pick blue

Bulb icon color: blue

Strip color: green

You pick yellow

Bulb icon color: yellow

Strip color: purple

It picks the mirrored color if you look at that HA color picker... I hope you get the idea.
I changed the #define COLOR_ORDER BRG to RGB but that screwed up all the colors in all other animations. Sort of expected at this point... I also tried the color picker on a Yeelight strip and a Yeelight bulb as well as on a LIFX bulb. Works as expected. Colors are selected correctly.
Now the question is, is this a HA MQTT JSON Light [color picker] thing, or is it a ESP-MQTT-JSON-Digital-LED thing?
Can you guys maybe confirm this behavior?
Cheers,
Ralph

I had this exact same behaviour. It seems strange, as if you send colour and brightness values direct from HASS (via an automation script) it displays the correct colour, it just seems the colour chooser is not aligned. Somehow it seems if you could move it to the right by about an inch it would be perfect...
And yes, agreed, awesome work on the sketch. Saved me so many hours in working out how to make the effects!

Holy smoke, I really wasn't sure somebody would understand my explanation... :-)

It seems strange, as if you send colour and brightness values direct from HASS (via an automation script) it displays the correct colour

I had not tried this yet, it certainly was on my agenda but it doesn't surprise me that if you pass along the RGB values it would work the way it's intended to...
I remember I had this sort of behavior when I got my first LIFXs, but appearantly this got sorted out by now. Let's just see what @bruhautomation has to say about this and maybe we'll need to raise this issue some place else.

Hi:
i have same issue in my led strip.  after i changed rgb order in .ino file problem solved.
#define COLOR_ORDER GRB (use to be BRG)

Thanks @sesametoy , indeed that did the trick for me too! Now that I look at it, it makes perfect sense. I actually WAS talking about colors being mirrored, but somehow failed to see that BRG and GRB IS exactly that mirrored state...
Well anyway, thanks.
Ralph

Sorry for my delay getting back to you @bfqrst. @sesametoy is all over this one. You'll need to change the lines to match the color order of your LEDs.  Pumped you guys got it resolved. Let me know if I can help with anything. I'll try and do better about staying on top of messages after I get my sensor node video up soon. Cheers!


The locations containing the hyphen can be found in the search bar even if the hyphen is not used

Is your feature request related to a problem? Please describe.
When the user searches for a locality that contains a hyphen (for example Piatra-Neamț), the message "Locatia nu a fost gasita!" is returned.
Describe the solution you'd like
The users can find the location even if they don't use the hyphen
Additional context

Fixed!


Traefik not upgraded when going from

Environmental Info:
K3s Version: v1.20.9+k3s1
Node(s) CPU architecture, OS, and Version:
Linux ip-172-31-47-178.eu-west-1.compute.internal 4.14.238-182.422.amzn2.x86_64 #1 SMP Tue Jul 20 20:35:54 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
Single node installation via curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.20.9+k3s1 sh -s - --write-kubeconfig-mode 644;
Describe the bug:
The manifests in /var/lib/rancher/k3s/server/manifests are not updated when upgrading the single node k3s installation via curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644;
This means that the old version of Traefik (as an example) is still running, so I cannot use IngressRoute on the updated cluster.
Is there a step I'm missing to get the updated manifests?
Steps To Reproduce:
Install the old version with Traefik 1
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.20.9+k3s1 sh -s - --write-kubeconfig-mode 644;

Check out the manifests folder:
$ sudo ls -lah /var/lib/rancher/k3s/server/manifests
total 24K
drwx------ 3 root root  135 Aug 18 14:23 .
drwx------ 7 root root  118 Aug 18 14:24 ..
-rw------- 1 root root 1.1K Aug 18 14:25 ccm.yaml
-rw------- 1 root root 4.3K Aug 18 14:25 coredns.yaml
-rw------- 1 root root 3.6K Aug 18 14:25 local-storage.yaml
drwx------ 2 root root  227 Aug 18 14:23 metrics-server
-rw------- 1 root root 1.1K Aug 18 14:25 rolebindings.yaml
-rw------- 1 root root  759 Aug 18 14:23 traefik.yaml

Upgrade to latest stable
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644;

The manifests folder has not changed
$ sudo ls -lah /var/lib/rancher/k3s/server/manifests
total 24K
drwx------ 3 root root  135 Aug 18 14:23 .
drwx------ 7 root root  118 Aug 18 14:24 ..
-rw------- 1 root root 1.1K Aug 18 14:25 ccm.yaml
-rw------- 1 root root 4.3K Aug 18 14:25 coredns.yaml
-rw------- 1 root root 3.6K Aug 18 14:25 local-storage.yaml
drwx------ 2 root root  227 Aug 18 14:23 metrics-server
-rw------- 1 root root 1.1K Aug 18 14:25 rolebindings.yaml
-rw------- 1 root root  759 Aug 18 14:23 traefik.yaml

And the contents of the traefik.yaml file is still the old:
$ sudo cat /var/lib/rancher/k3s/server/manifests/traefik.yaml
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: https://%{KUBERNETES_API}%/static/charts/traefik-1.81.0.tgz
  valuesContent: |-
    rbac:
      enabled: true
    ssl:
      enabled: true
    metrics:
      prometheus:
        enabled: true
    kubernetes:
      ingressEndpoint:
        useDefaultPublishedService: true
    priorityClassName: "system-cluster-critical"
    image: "rancher/library-traefik"
    tolerations:
      - key: "CriticalAddonsOnly"
        operator: "Exists"
      - key: "node-role.kubernetes.io/control-plane"
        operator: "Exists"
        effect: "NoSchedule"
      - key: "node-role.kubernetes.io/master"
        operator: "Exists"
        effect: "NoSchedule"

With a fresh, clean install of k3s on a clean new box, that file contains (as expected)
$ sudo cat /var/lib/rancher/k3s/server/manifests/traefik.yaml
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik-crd
  namespace: kube-system
spec:
  chart: https://%{KUBERNETES_API}%/static/charts/traefik-crd-9.18.2.tgz
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: https://%{KUBERNETES_API}%/static/charts/traefik-9.18.2.tgz
  set:
    global.systemDefaultRegistry: ""
  valuesContent: |-
    rbac:
      enabled: true
    ports:
      websecure:
        tls:
          enabled: true
    podAnnotations:
      prometheus.io/port: "8082"
      prometheus.io/scrape: "true"
    providers:
      kubernetesIngress:
        publishedService:
          enabled: true
    priorityClassName: "system-cluster-critical"
    image:
      name: "rancher/library-traefik"
    tolerations:
    - key: "CriticalAddonsOnly"
      operator: "Exists"
    - key: "node-role.kubernetes.io/control-plane"
      operator: "Exists"
      effect: "NoSchedule"
    - key: "node-role.kubernetes.io/master"
      operator: "Exists"
      effect: "NoSchedule"

Am I missing an important step?

As per the docs at https://rancher.com/docs/k3s/latest/en/networking/#traefik-ingress-controller:

If Traefik is not disabled K3s versions 1.20 and earlier will install Traefik v1, while K3s versions 1.21 and later will install Traefik v2 if v1 is not already present.
To migrate from an older Traefik v1 instance please refer to the Traefik documentation and migration tool.

The docs contains links to the migration docs and tool. If you don't want to worry about migrating and are open to a clean instal, you can always start k3s with --disable=traefik to remove the v1 Helm chart, and then restart again without the flag to install the v2 chart.

Cool, I knew I'd missed something 😁
I'm sure I tried running the installer with traefik disabled, then running the new version with it enabled, and nothing happened
I will try again as soon as I get back to my laptop, and report my results here
Thanks for the help 👍

Closing the loop here, I tested it out, and all works as you said
Ran the old installer with --disable=traefik then when it had gone away, installed the new version and new traefik came back 😎
Thank you so much for the response, and my apologies for the noise 👍


update tests to run against 0.3.9

this updates some tests. however, the dht test is now failing and i cannot fix it. @whyrusleeping what changed?

for reference: https://github.com/ipfs/go-ipfs/issues/1923

Important context https://botbot.me/freenode/ipfs/2015-11-02/?msg=53251219&page=2

https://botbot.me/freenode/ipfs/2015-11-02/?msg=53251438&page=2
06:44 <@whyrusleeping> so the puts work just fine
06:44 <@whyrusleeping> but when get is run, it collects the values
06:45 <@whyrusleeping> and then fails when it tries to 'pick the best one'
06:48 <+daviddias> got it got it :)
06:48 <+daviddias> well, adding notes of that all over the place
06:48 <+daviddias> but will consider that since the rest of the functionality is working, specially ipns, that the thing is good for now
06:48 <+daviddias> so that we can move forward with things that depend on this js-ipfs-api update
06:49 <+daviddias> sounds good?
06:53 <@whyrusleeping> woooo!
06:53 <@whyrusleeping> sounds good to me

Ready to merge, sounds good @jbenet ?

circleCI is having some trouble today

@diasdavid sounds good.

sweeet!


how to fire event or call scope function when selected change

how can call a scope function or fire an even when the selected value changed ?i tried the $watch on the scope selected item , but it didnt work, any help ? its urgent

Hope you figured it out, if not I'll show you what I did. In my activate function, I put
$scope.$watch(
function () {
return (vm.selectedItem);
},
function (newValue) {
if (newValue !== undefined) {
vm.selectedItem= newValue;
}
});
then in the morph-carousel I put on-selected="vm.selectedItem"


⚠ DesiTorrents has degraded performance

In 0eaf2d5, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 1616 ms

Resolved: DesiTorrents performance has improved in d752815.


[Telegram] sendMediaGroup - 400 Bad Request for documents array or mix

When I try to send multiple documents I got the error:
0|npm start  | AxiosError: Telegram API - 400 Bad Request: wrong file identifier/HTTP URL specified
0|npm start  |     at TelegramClient.<anonymous> (/.../node_modules/messaging-api-telegram/dist/TelegramClient.js:67:27)
0|npm start  |     at Generator.throw (<anonymous>)
0|npm start  |     at rejected (/.../node_modules/messaging-api-telegram/dist/TelegramClient.js:6:65)
0|npm start  |     at runMicrotasks (<anonymous>)
0|npm start  |     at processTicksAndRejections (internal/process/task_queues.js:95:5)
0|npm start  | Error Message -
0|npm start  |   Telegram API - 400 Bad Request: wrong file identifier/HTTP URL specified
0|npm start  | Request -
0|npm start  |   POST /sendMediaGroup
0|npm start  | Request Data -
0|npm start  |   {
0|npm start  |     "chat_id": "@groupid",
0|npm start  |     "media": [
0|npm start  |       {
0|npm start  |         "type": "document",
0|npm start  |         "media": "https://64.media.tumblr.com/e5382624feb56e3b32740a22b3305ee8/ca057c4fa92f6baa-d7/s500x750/7797a8155b711abc2732c432ec5a8c37b1860b84.gif"
0|npm start  |       },
0|npm start  |       {
0|npm start  |         "type": "document",
0|npm start  |         "media": "https://64.media.tumblr.com/0f40868b31818022a7c70929ce45fb44/ca057c4fa92f6baa-5b/s500x750/2837ebfa5540ac6351a122bba26a89f648328cb2.gif"
0|npm start  |       },
0|npm start  |       {
0|npm start  |         "type": "document",
0|npm start  |         "media": "https://64.media.tumblr.com/a9e19e401667c4407fdab006d6f56354/ca057c4fa92f6baa-42/s500x750/716719270053218835f34ad4e4deb89cdc935d6b.gif"
0|npm start  |       },
0|npm start  |       {
0|npm start  |         "type": "document",
0|npm start  |         "media": "https://64.media.tumblr.com/19c75eb828ed442b9aae91289956209a/ca057c4fa92f6baa-85/s500x750/b0e8779ed8a2a598d54f02356bf0889901ff914d.gif"
0|npm start  |       }
0|npm start  |     ]
0|npm start  |   }
0|npm start  | Response -
0|npm start  |   400 Bad Request
0|npm start  | Response Data -
0|npm start  |   {
0|npm start  |     "ok": false,
0|npm start  |     "error_code": 400,
0|npm start  |     "description": "Bad Request: wrong file identifier/HTTP URL specified"
0|npm start  |   }

However in the original documentation its written that sending InputMediaDocument should be possible:

It seems like the error Telegram API - 400 Bad Request: wrong file identifier/HTTP URL specified occur when you send a file which name is not starting with letter.
Try to make your file names starting with letter instead of number, send the request again, see if this error persist?
ref: https://stackoverflow.com/questions/47005393/telegram-bot-bad-request-wrong-file-identifier-http-url-specified

Strange because posting individual document has no problem:
await tg.sendDocument('@sprclstr', "https://64.media.tumblr.com/a9e19e401667c4407fdab006d6f56354/ca057c4fa92f6baa-42/s500x750/716719270053218835f34ad4e4deb89cdc935d6b.gif")

@wtflink any other thought?

This issue seems familiar to your case, did you check your file size?
https://github.com/telegraf/telegraf/issues/1481

The file size is not big, as I wrote above the gif content can be posted one by one.


fix: Remove error for window fetch API

Description
Fix linting error for fetch window API
Fixes https://github.com/appsmithorg/appsmith/issues/33268
Automation
/ok-to-test<EMAIL_ADDRESS>:mag: Cypress test results

[!TIP]
🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/9023762582
Commit: f235c91a7d3437eca91b0f900f05a28b42da3226
Cypress dashboard url: Click here!

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[x] No

/build-deploy-preview skip-tests=true

@rishabhrathod01 Tested the changes as well, Looks good!


Change regime in sphered country event error

I got Change regime in sphered country event while playing for Soviet Union in the first year of the scenario. The sphered country was Finland. There was two choices:

Demand regime change (in this case - Democracy to Proletarian Dictatorship). When I hovered my mouse over it, it showed no popup.
Let them have there own regime. When I hovered my mouse over this one, it showed that Finland will get "Soviet Union demands regime change" event. As a result I lost 50 influence points I had, but it stayed in my sphere.

This has been corrected in the current release - 0.9.906.


Acceptance test randomly failing

Acceptance tests randomly failing when creating a new directory when running the generate command.
  Scenario: Generate a template with correct ID                                                               # acceptance/features/generate.feature:7
    Given A template to generate installed with URL "https://github.com/ironman-project/template-example.git" # generate.go:19 -> /acceptance.aTemplateToGenerateInstalledWithURL
    When Generate runs with ID "template-example" generator ID "app" and flags "foo=bar,bar=foo"              # generate.go:28 -> /acceptance.generateRunsWithIDGeneratorIDAndFlags
    Then The generate process state should be success                                                         # generate.go:34 -> /acceptance.theGenerateProcessStateShouldBeSuccess
    Generate command did not succeeded Running template generator app
Writing... /home/travis/.ironman_test/test/.env
Writing... /home/travis/.ironman_test/test/README.md
Writing... /home/travis/.ironman_test/test/foobar
Writing... /home/travis/.ironman_test/test/teams.html
Writing... /home/travis/.ironman_test/test/projects/README.md
Writing... /home/travis/.ironman_test/test/projects/managers
 exit status 255 There was an error failed to create generation directory: mkdir /home/travis/.ironman_test/test/projects: file exists

Applied a lock to directory when first created, since multiple go routines were trying to create the directory when it didn't existed.

This is still failing.


[android] Optimise fling animation

Cherry pick from https://github.com/mapbox/mapbox-gl-native-android/pull/503

Wont cherry pick due to https://github.com/mapbox/mapbox-gl-native-android/pull/503#issuecomment-665382427


docs(architecture): Typo fix

I signed it

The file you're fixing doesn't look like the current one in master.
Where did you get that file?  I'm closing for now. I'll reopen if you can explain.

Thanks


Added @auth check to navigation

[x] Changes have been thoroughly tested to not break existing functionality.
[ ] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

I was playing around with panels and found that if you wanted to have an Authentication Less panel, it would not work with the default theme, as it has a dependency on having a user in the vendor/filament/filament/resources/views/widgets/account-widget.blade.php
This causes an exception ( Filament\FilamentManager::getUserAvatarUrl(): Argument #1 ($user) must be of type Illuminate\Database\Eloquent\Model|Illuminate\Contracts\Auth\Authenticatable, null given ) and rather than having to deep dive into creating my own theme just to extend this simple widget i figured a PR would be handy for anyone else experiencing the same :)
Before:

After:

Easy to replicate
Simply do a php artisan make:filament-panel and remove the AuthMiddleware part of the panel configuration (app/Providers/Filament/<panel>PanelProvider.php
            ->authMiddleware([
                Authenticate::class,
            ]);

Visit your panel and there you see the exception
With the change from this PR you can now make Front facing panels for Public view if needed

Honestly, I don't think this is the right approach.
You should either simply remove this widget from your panel, display it conditionally, or come up with a new design for the unauthenticated state of the widget.
Feel free to attempt a new PR if your approach requires changes to Filament core. 🙂


feat: Add adjusted timestamps on copied MockFiles

For tests with MockFiles we would like to have the same behaviour as on a real
file system regarding the timestamps on the copied file.

This looks very similar to #860

Unfortunately after my last commit https://github.com/TestableIO/System.IO.Abstractions/pull/861/commits/920527b3e6588f70a574052c91775a2b41cc83c7 an issue cropped up in the static code analysis which claims that "'existingContents' is null on at least one execution path." in src/System.IO.Abstractions.TestingHelpers/MockFileStream.cs#L44.
@fgreinacher, since this is obviously a false positive, could you please set it to ignore?

Unfortunately after my last commit 920527b an issue cropped up in the static code analysis which claims that "'existingContents' is null on at least one execution path." in src/System.IO.Abstractions.TestingHelpers/MockFileStream.cs#L44. @fgreinacher, since this is obviously a false positive, could you please set it to ignore?

Sure, done! Thanks for having a look at this!

Thanks a lot for your contribution @xtopaz.
Also thanks @siprbaum for helping with the review!


Notebook output cells do not word wrap

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
Python output cells in Jypyter notebooks do not wrap.
I have;
editor word wrap on,
~/.jupyter/nbconfig$ cat notebook.json
{
"Cell": {
"cm_config": {
"lineNumbers": true,
"lineWrapping": true
}
}
}
(That works with notebooks in browser)
and tried adding this to settings.json
"notebook.editorOptionsCustomizations": {
"editor.wordWrap": "on"
},
Nothing seems to work. Any ideas would be greatly appreciated.
VS Code Version
Version: 1.78.2 Commit: b3e4e68a0bc097f0ae7907b217c1119af9e03435 Date: 2023-05-10T14:47:05.613Z Electron: 22.5.2 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: <IP_ADDRESS>-electron.0 OS: Linux x64 5.19.0-41-generic Sandboxed: No
Jupyter Extension Version
v2023.4.1011241018
Jupyter logs
Visual Studio Code (1.78.2, undefined, desktop)
Jupyter Extension Version: 2023.4.1011241018.
Python Extension Version: 2023.8.0.
Platform: linux (x64).
Workspace folder ~/Learn/transformers-course, Home = /home/kinghorn
User belongs to experiment group 'jupyterEnhancedDataViewer'
User belongs to experiment group 'jupyterTestcf'
18:27:44.860 [info] Start refreshing Kernel Picker<PHONE_NUMBER>860)
18:27:44.864 [info] Using Pylance
18:27:45.821 [info] Starting Kernel startUsingLocalKernelSpec, .hf.~/miniconda3/envs/hf/python.~/miniconda3/envs/hf/python.-m#ipykernel_launcher  (Python Path: ~/miniconda3/envs/hf/bin/python, Conda, hf, 3.10.11) for '~/Learn/transformers-course/nbs/chapter1/section8.ipynb' (disableUI=true)
18:27:46.209 [info] Process Execution: ~/miniconda3/envs/hf/bin/python -m pip list
18:27:46.493 [info] Process Execution: ~/miniconda3/envs/hf/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
18:27:46.519 [info] Process Execution: ~/miniconda3/envs/hf/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9003 --control=9001 --hb=9000 --Session.signature_scheme="hmac-sha256" --Session.key=b"d401c0e1-e6a1-48b2-8a09-0d24fa7fb614" --shell=9002 --transport="tcp" --iopub=9004 --f=~/.local/share/jupyter/runtime/kernel-v2-214921bN7mBgB7WfzD.json
    > cwd: ~/Learn/transformers-course/nbs/chapter1
18:27:46.596 [info] ipykernel version & path 6.19.2, ~/miniconda3/envs/hf/lib/python3.10/site-packages/ipykernel/__init__.py for ~/miniconda3/envs/hf/bin/python
18:27:46.746 [info] End refreshing Kernel Picker<PHONE_NUMBER>860)
18:27:46.936 [info] Started Kernel hf (Python 3.10.11) (pid: 215293)
18:27:46.936 [info] Started new session 0ed75fa8-de35-4968-9497-93f7fc3870a4
18:38:58.248 [info] Loading webview. View is notset
18:38:58.249 [info] Loading web view...
18:38:58.249 [info] Webview panel created.
18:38:58.380 [info] Web view react rendered

Coding Language and Runtime Version
Python 3.10
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
conda 23.3.1
Running Jupyter locally or remotely?
Local

there is a specific setting that controls notebook output: notebook.output.wordWrap. Try setting that to true and let us know if you still have any issues.

Thank you!  That worked :-)


No APT scrollback history while connected to Ubuntu via SSH

Windows Terminal version
Stable: v1.7.1901
Preview: v1.8.1032
(Same behavior on a few previous versions that I tested)
Windows OS version
Windows 10 - Builds 20H2 and 2004
Other software
OpenSSH: version originally packed within Windows Optional updates, version from Powershell github, and Cygwin version 8.5p1.
Steps to reproduce / Actual behavior
When connected to a remote Ubuntu server, if APT produces multiple pages of text,
there's nothing in the scrollback of the Windows Terminal. When connected to other
Linux headless hosts, also Debian derivatives (Armbian, Raspberry OS), all lines
generated by APT end up in scrollback. If Command Prompt is used instead of
Windows Terminal, even on Ubuntu server APT fills the scrollback.

Expected Behavior
Windows Terminal should have all the lines generated by APT in its scrollback.

Just to make sure, APT is the Advanced Packaging Tool , right? The one can install packages.

Hi. Yes. The built-in apt-get tool for software packages management.
On Mon, Apr 26, 2021, 07:52 Chester Liu @.***> wrote:

Just to make sure, APT is the Advanced Packaging Tool , right? The one
can install packages.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/9939#issuecomment-826524794,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWJEN3RWG7CIIVCRXPIIO3TKT5QFANCNFSM43QHVNYA
.

Can you perhaps add a screenshot showing the correct vs incorrect behaviour? I don't honestly understand how the expected scrollback is, based on my limited experience with APT.

This is actually something we're already tracking: /dup #3673


helm upgrade --reset-values not working

I'm running an upgrade command like this
helm upgrade --reset-values --set image.tag=$tag $service $chart_dir

If I manually modify some configuration in kube (via dashboard or kubectl) values are not reset when running the command above.
Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}

Just double checking here, you are using --set which will still overwrite some values (I think...). Is it other values that aren't changing?

@thomastaylor312 correct, as an example I am modifying CronJob schedule in the kube dashboard, and I have a variable in values.yaml for the schedule parameter that's different. I'm expecting the schedule parameter to be restored to chart default values. It also does not work if I additionally point to the values file with -f.
However it does work if I change the value in values.yaml to something else and run upgrade.
Example steps to reproduce:

initial values.yaml:

schedule: "*/10 * * * *"

Run helm install

Use kubectl or UI to modify resource
Run upgrade command from above

helm upgrade --reset-values --set image.tag=$tag $service $chart_dir

The value won't be restored to original.

The reason things are not changing is because the diff to determine what changed is calculated between the last Helm release manifest and the re-rendered manifest generated by helm upgrade. In other words, your direct edits are being ignored by Tiller. Since nothing changed in your rendered templates, the patch set sent to Kubernetes is empty, and the existing objects (that you hand-edited) remain the same.
This is one of the reasons we recommend people not try to use Tiller and also manually edit objects directly. Use one or the other.
The design of this has to do with the way the apply logic works in Kubernetes. Kubernetes freely modifies your manifests. So Tiller needs to capture a "pure" version in order to generate a direct diff between what you intended on install and what you now intend upon upgrade. Apply happens client-side, not in Kubernetes itself (kubectl, for example, has all of the apply logic). That will change in the future, in which case Helm will redo the way we handle upgrades. At that point, this nuance will go away.

@technosophos Your explanation makes things more clear. However, I'd consider such behavior a flaw in helm when using --reset-values, unless I'm completely misunderstanding the purpose of this flag.
Using only one of helm or kubectl/dashboard sounds nice in theory, however in practice I can see things being modified manually for any number of reasons, unless processes are very strongly enforced. My expectation for --reset-values is to have a similar behavior to terraform, puppet or any other config/resource management solutions where you ensure that resource state is always the same.
I'd like to update kube resources to default chart values even if there's no diff in Tiller config and when there are manual modifications in kube resources. It's almost like helm del + helm install without removing resources and with an option to pass in values with --set at the same time. Is there a way to achieve something like this with helm right now?

/remove-lifecycle rotten

closing as inactive.

closing as inactive.

good solution, but the issue is still there :(

The last time this ticket saw any activity was over two years ago. The answer @technosophos provided long ago discusses the internals of helm 2 and tiller, which was significantly refactored in helm 3.
If you are still experiencing issues, please open a new ticket and feel free to link back to this one.

I've updated to the latest helm version v3.2.1 but it has the same issue.
I resolved  the issue with a workaround:

added additional environment variable with date of deployment in the helm-chart template.

helm recreate the pods each time it is updated, even the docker tag was not changed.
and as soon as image pull policy in "always" new pods start from the latest version.


Wrap receive in async/go

Status
READY
Todos

[ ] Tests
[ ] Documentation
[ ] License

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
git fetch --all
git checkout <feature_branch>
npm test

@boundlessgeo/spatial-connect

👍


Admonitions (syntax extension)

MkDocs' Markdown has "admonitions" as a syntax extension.
While quoting the "title" seems a bit idiosyncratic, we could support something similar:
!!! keyword Inline content for title
    4-space indented block contents...

Compare to the "fenced divs" syntax, it allows for something simpler for environments needing two arguments (where Markdown can be used in both). I mean, it's doable with fenced divs, but it looks a bit "clumsy" / less straightforward in my opinion, and also makes the task of the writer afterwards less obvious for identifying and extracting the necessary bits.
::: { .keyword }
block contents...
:::: { .title }
Content for title
::::
:::

I would tend to think it would bring a more natural way to typeset some things, with an immediate sensible use -- as shown in the PoC below.

I wonder what other writers using Markdown would have to say (or how they'd address that type of need with other means).

And in addition to the above note on fenced dives, Pandoc also seems to have "some" of the same idea with fenced divs with just a class name:
https://github.com/jgm/lunamark/issues/58
(Though it doesn't address the "title" of such blocks.)

And yet another way, in Paradox https://developer.lightbend.com/docs/paradox/current/directives/callouts.html
@@@ note {title='Caveat Emptor'}
...
@@@

Too many possible ways, and now that we also have Djot support, we might need to think to a better approach that just adding our own syntax extension --> switching milestones.

For reference, admonitions in Djot are discussed here: https://github.com/jgm/djot/issues/196

Issue with 1+ year of inactivity, not a move either on the Djot side to define something we could consider, no "recognized" way in Markdown, and visibly no community interest anyway (er... we don't have that maybe; oh, it's all the more true then) --> Why would we care here keeping a topic opened?
Anyone can open a new issue with some clever approach, a robust implementation approach and proposal for all of Markdown/Djot/Pandoc AST --- and is welcome to do so....
Anyway, no other effort involved on my side.


Not working in MIUI / Android 12

The tile shows and it starts counting down to sleep - when it reaches the time the volume DOES turn down to zero, but then a second or so later it restores back to existing volume.
I'm not sure if this is a MIUI or Android 12 incompatibility issue. I was testing with two different audio sources playing from:

Youtube (background playback)
Musicolet (simple music player, using System audio decoder)

Both experience same issue, it works momentarily but then restores volume.

This is the expected behavior:
https://github.com/SimonMarquis/SleepTimer/blob/f62a208079fa61cdaa8a086ab33e192624b45362/app/src/main/java/fr/smarquis/sleeptimer/SleepAudioService.kt#L42-L45
This ensure the volume is reset to the initial value, otherwise, alarms or other apps/notifications could be silenced...
What should happen between lowering the volume to 0 and restoring the inital value is the playback being paused.
Is this not working on your device?

Is this not working on your device?

Yes exactly. It lowers the volume slowly... then goes to zero. But the music in Youtube or Musicolet isn't paused, so when volume is restored the music carries on playing.

Also just tested in Twitch app, same issue.

I've tested this on multiple apps (Youtube, YoutubeMusic, Twitch, etc.), and the music/video stream is correctly paused.
This might be an issue with your OS not respecting audio focus requests.
I've just published a 1.2 version where the delay to restore the initial volume has been increased.
This might help with this issue, but otherwise I won't be able to fix this.

I'll close this issue as it should have been fixed by the last update.


Take the name of the JSON file as namespace when splitting localization files

Is your feature request related to a problem? Please describe.
We decided to work with this package to handle the website internationalization.
We implemented splitting files to have it more organized, It follows like this:

Unfortunately, It does not get the file names as namespaces as one might guess:
IntlError: MISSING_MESSAGE: Could not resolve `home` in messages for locale `en`.
    at getMessagesOrError (webpack-internal:///(rsc)/./node_modules/.pnpm/use-intl@3.5.4_react@18.2.0/node_modules/use-intl/dist/development/createFormatter-3fcd09b9.js:101:27)
    at Object.createBaseTranslator (webpack-internal:///(rsc)/./node_modules/.pnpm/use-intl@3.5.4_react@18.2.0/node_modules/use-intl/dist/development/createFormatter-3fcd09b9.js:119:29)
    at createTranslatorImpl (webpack-internal:///(rsc)/./node_modules/.pnpm/use-intl@3.5.4_react@18.2.0/node_modules/use-intl/dist/development/core.js:15:28)
    at createTranslator (webpack-internal:///(rsc)/./node_modules/.pnpm/use-intl@3.5.4_react@18.2.0/node_modules/use-intl/dist/development/core.js:35:12)
    at eval (webpack-internal:///(rsc)/./node_modules/.pnpm/next-intl@3.5.4_next@14.1.0_react@18.2.0/node_modules/next-intl/dist/esm/react-server/getTranslator.js:13:75)
    at /home/luisalaguna/Projects/TRT/twe_fe_next/node_modules/.pnpm/next@14.1.0_@babel+core@7.23.9_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:360290
    at o (webpack-internal:///(rsc)/./node_modules/.pnpm/next-intl@3.5.4_next@14.1.0_react@18.2.0/node_modules/next-intl/dist/esm/react-server/useTranslations.js:13:73)
    at Home (webpack-internal:///(rsc)/./src/app/[locale]/page.tsx:16:68)
    at ej (/home/luisalaguna/Projects/TRT/twe_fe_next/node_modules/.pnpm/next@14.1.0_@babel+core@7.23.9_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:264151)
    at ez (/home/luisalaguna/Projects/TRT/twe_fe_next/node_modules/.pnpm/next@14.1.0_@babel+core@7.23.9_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:267802)
    at eH (/home/luisalaguna/Projects/TRT/twe_fe_next/node_modules/.pnpm/next@14.1.0_@babel+core@7.23.9_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:268559)
    at Timeout._onTimeout (/home/luisalaguna/Projects/TRT/twe_fe_next/node_modules/.pnpm/next@14.1.0_@babel+core@7.23.9_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:265057)
    at listOnTimeout (node:internal/timers:573:17)
    at process.processTimers (node:internal/timers:514:7) {
  code: 'MISSING_MESSAGE',
  originalMessage: 'Could not resolve `home` in messages for locale `en`.'
}

Describe the solution you'd like
It would be nice that the package would make the name of the localization file as the name space itself.
Since we split the json in chunks to get it more ordered, splitting by namespaces is the best option, and from it, it would be nice to have such behaviour by default.
Describe alternatives you've considered
Right now we can solve it either:

by adding the namespace as key, i.e., { "home": ...}.
by adding a key name on the configuration file: home: { ...(await import(./locales/${locale}/home.json)).default }

Please see https://github.com/amannn/next-intl/issues/832#issuecomment-1923353842


Key-based reordering doesn't work

I have started working on a test for key-based element reordering.
I suspected this wasn't working, so I decided to build a practical example:
https://codesandbox.io/s/fre-demo-uxuic
In this example, I have a list of counter IDs only (in counters in App) with the actual counter values being maintained in instances of Counter.
As you can see, I'm using a key-attribute on the <Counter/> instances, so the instances (with state) should be preserved between updates - which they are.
But the order of the component instance elements does not get updated.
Here's an image to explain:

As you can see in the console the "Remove" button handler has reversed the order of the counter IDs from 1, 2, 3 to 3, 2, 1.
But as shown with the red lines, the order of the components in the DOM is still 1, 2, 3, so the reordering doesn't seem to work.

I saw the use cases and probably knew where was wrong.
We can continue testing other use cases.
Then I'll fix it as soon as possible until I get online.

I've fixed this bug just now, and the tests was passed.😁

Doesn't look like it's fixed yet - try pressing the +/- buttons after pressing reverse in the demo?
This happens:

The test I mentioned doesn't pass - but I'm not sure if the test is correct yet, it might not be.

Now it looks like remove element has a problem. It's desperate.

I fixed it again, but I tried to test the case and found it still failed.

@mindplay-dk Wrong closure, I'm back again :sad:
Now I think I've fixed the problem, but still need testing. Thank you for your patience :thank:.

Sorry, but the demo still doesn't work.
Don't worry if it takes you some time to figure this out - getting this exactly right is probably the most difficult part of virtual DOM. It's not supposed to be easy 😉

@mindplay-dk My demo here is working correctly. Are you sure you are the latest version(v1.7.7)?
Or what step is not working?

Try copy/pasting the ESM build into fre.js in this demo project:
https://codesandbox.io/s/fre-demo-uxuic
Currently, it doesn't sort the components when you press "Reverse".
(and for some reason CodeSandbox is crashing right now if I'm logged in, so I haven't been able to save this sandbox with a new version of the library...)

My mistake, my use case, lost the key attribute, and the problem still exists.
It's really hard. I still need time...

No pressure, take your time 🙂

I'm back again... I seem to have really fixed this now. Please check it 😭

I think you're getting closer - it works now as long as you don't press any of the +/- buttons... so, as long as you don't change the state, adding/removing and reordering the counters seems to work.
But as soon as you've pressed one of the +/- buttons, it breaks.

I've fixed it again by again. Hope that this is the last time, my God.

Looks solid! 😀🎉
So at this point, I would suggest, hold off making anymore changes to reconciliation, until we have the test in place - making changes at that point will be much safer.
I will try to finish the test soon.

Closing, since we have the tests for key-based reconciliation in place. 👍


Only run tests in Travis for stuff that changed

Adds a flow-typed run-ci-tests command that looks at the diff between the current working directory and origin/master, extracts a list of libdefs that were changed/added, and only runs applicable tests (rather than all tests).
Solves https://github.com/flowtype/flow-typed/issues/76

(FYI: I'm just waiting on some time to open up so I can debug the travis tests before this can land)

Woo! Travis build seems to be passing now. I think this is ready for review if anyone cares to run through it before I merge?
(cc @ryyppy @marudor )

Looking good to me :-)

I'm all for merging :)


Bower component

Nice module
I suggest distribute it in bower, what you think?

Ah, good idea. I'll make it happen!

:D, https://github.com/atifazam/vocalizer/pull/12


Ensure nodeExit is always called

Because sending the ExitCalled notification might fail, this is to ensure that process.exit always invokes its overridden version.

IMO we can't get rid of the timeout. The problem is that the underlying send is async and yields and if we don't wait a little it is very likely that the message never hits the wire since the process exists before.
This can of course even happen with the timeout but is far less likely. Thoughts?


Cleaning up dribbble related resources.

Splitting up the code from #453  to make it easier to review

👍 I guess those two strings were unused else it wouldn't compile 🤓

Thanks @ataulm


Analyzer options-finding changing?

Either this is an unintended bug or just an undocumented feature 😄
Take a directory with a dart file and an .analysis_options file:
~/code/dart-inference-1/b.dart
class A {
  A();
  factory A.b() => new B();
}

class B extends A {
  int b = 7;
}

void main() {
  var x = new A.b();
  print(x.b);
}

~/code/dart-inference-1/.analysis_options
analyzer:
 strong-mode: true

Let's run the 1.22.0-dev.9.0 analyzer, from ~:
~$ dartanalyzer --version
dartanalyzer version 1.22.0-dev.9.0~$ dartanalyzer ~/code/dart-inference-1/b.dart
Analyzing [/Users/srawlins/code/dart-inference-1/b.dart]...
No issues found

And how about HEAD analyzer:
~$ code/dart-repo3/sdk/xcodebuild/ReleaseX64/dart-sdk/bin/dartanalyzer --version
dartanalyzer version 1.23.0-edge.b86388e3ed2a82c3a0fc53dea6f2726e335342b9
~$ code/dart-repo3/sdk/xcodebuild/ReleaseX64/dart-sdk/bin/dartanalyzer ~/code/dart-inference-1/b.dart
Analyzing /Users/srawlins/code/dart-inference-1/b.dart...
[error] The getter 'b' isn't defined for the class 'A' at code/dart-inference-1/b.dart:12:11 (undefined_getter).
1 error found.

Interesting. Looks like the analysis options is being read in the HEAD, but not 1.22.0-dev.9.0. I don't see anything about this in the CHANGELOG.md
(If I remove the analysis options file, then HEAD analyzer does not analyze in strong mode.)

CC @danrubel

I believe that this should be viewed as a fix to previously broken behavior. Is this causing a problem, or was it just a change you noticed?

The new behavior makes sense, so it is causing a problem only in that it was unexpected. Should be documented.

Good point. I made this change to dartanalyzer so that it finds analysis options files using the same code analyzer functionality that analysis server uses. Needless to say, I should have updated the change log at the same time.
https://github.com/dart-lang/sdk/pull/28928

Documentation change landed. Please reopen if you find additional problems. Thanks!


Main Theme

[x] Night theme (see #13)
[ ] Sub tinting mode
[ ] Make tint mode settings work

The other two aren't applicable anymore


cmd/docgen: implement documentation generator

Should concat all checkers docs from docs/checkers and outputs combined document.
Wishlist:

Table of contents with navigation

fixed in #132


Six Million Dollar Man - Wrong links for both B2S and ROM (Thanks bruno15477)!

Repo for the table is located here:
https://github.com/LegendsUnchained/vpx-standalone-alp4k/tree/main/external/vpx-sixmilliondollarman
Wrong B2S and ROM links, will fix!

Readme Updated and corrected.


Hi is this code finished?

Hello, I have read the readme.txt and tried to test();
with my email. It gives me Access not granted or expired. (line 286, file "Service", project "OAuth2").
Is this code finished?

You need to launch the script from the published web app URL to initiate the OAuth webflow. That only has to be done once.


Bug in Value::to_i128

When I write this test function
#[test]
fn mytest() {
    let v:Value = Value::from(5000i64);
    println!("{:?} {:?}", v, v.to_i128());
    assert_eq!(v.to_i128(), Some(5000i128));
}

I got this
Num(Tag::Default, I64(5000)) None
thread 'mytest' panicked at 'assertion failed: `(left == right)`
  left: `None`,
 right: `Some(5000)`', src/main.rs:22:5

I think it's wrong. please check it. And check Value::to_u128 for more.

That was an unfortunate bug caused by a simple omission of a match branch.


v2 Beta issue with singleItem

Hi,
I've just been trying out Owl v2 beta and have found the singleItem: true setting stops the carousel from working. I was using:
$("#make-up-courses").owlCarousel({
navigation : true, // Show next and prev buttons
slideSpeed : 300,
paginationSpeed : 400,
autoPlay: true,
singleItem:true
});
As soon as a switched to v1, without making any config changes, the carousel worked perfectly.

It seems that the property "singleItem" is no longer supported with v2.
You should use the property "items" with value 1 for a single slide, or value n for n slides within your slider width.
$("#owl-demo").owlCarousel({
    slideSpeed : 300,
    paginationSpeed : 400,
    items: 1,
    dots: false,
});


Do not allow users to login with display_name

Removed ability to login with display_name, removed unique constraint on user#display_name index, switched to normal model validations for user#login and removed old code.
I still need to check that this won't break the front end but i'm almost 100% sure we don't use unique display_name filtering for anything anymore.

I think we are good to go on this.

LGTM


Problems encountered while doing Android SDK

When I was building the Android SDK according to the official documentation, the 'mlc_llm package' command had difficulty downloading the model and always timed out for the connection, hoping to get some help:[2024-10-18 13:02:37] INFO download_cache.py:56: [Git] Cloning https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f16_0-MLC.git to /tmp/tmpq5b54u16/tmp
Traceback (most recent call last):
File "/home/root2/conda2/envs/mlc-prebuilt/lib/python3.11/site-packages/mlc_llm/support/download_cache.py", line 57, in git_clone
subprocess.run(
File "/home/root2/conda2/envs/mlc-prebuilt/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'clone', 'https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f16_0-MLC.git', '.tmp']' returned non-zero exit status 128.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/root2/conda2/envs/mlc-prebuilt/bin/mlc_llm", line 8, in
sys.exit(main())
^^^^^^
File "/home/root2/conda2/envs/mlc-prebuilt/lib/py

Hi, looks like the git clone seems to fail, but I can't reproduce this on our end
Could you try separately (in any directory, just to test the git clone) the following and see if it works?
$ git clone https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f16_0-MLC.git

@whyshifht Hi! Did you open the proxy for the network problem? Or mayby you can change the proxy node? Or maybe you can try the huggingface mirror and use the following instruction HF_ENDPOINT=https://hf-mirror.com mlc_llm package instead of mlc_llm package.


Added Pimoroni Tiny2040 and Keybow2040 board definitions

Includes specific pin definitions for features of these boards.

oops; could you also rebase this onto develop

Thanks @kilograham. You may need to point me to how to do that. I'm still learning my way around git

Let me do that then, i'm not quite sure how to explain that from this end for your end.
Can you verify that you are using B1s only, and that
#ifndef PICO_FLOAT_SUPPORT_ROM_V1
#define PICO_FLOAT_SUPPORT_ROM_V1 0
#endif

#ifndef PICO_DOUBLE_SUPPORT_ROM_V1
#define PICO_DOUBLE_SUPPORT_ROM_V1 0
#endif

works for you (if so)

I believe the launched products will be B1's but currently all we have are prototypes with B0, so cannot test.
Also, are #defines within the SDK already for the ADC pins? If so then we can remove our specific ADC ones on Tiny, as they'd be redundant

OK, gotcha; well will leave alone for now.
I do need to add common SDK defines for ADC etc, so will update yours accordingly - I'll leave your defines in place and just define the common ones using those.

oops

merged into board-headers branch

Thanks @kilograham.

OK, gotcha; well will leave alone for now.

Just got confirmation that we will be B1, so although I cannot test myself, could you add those defines in for Tiny and Keybow please?

I do need to add common SDK defines for ADC etc, so will update yours accordingly - I'll leave your defines in place and just define the common ones using those.

Thanks, that would be great!

Slightly tangential to this @kilograham , in addition to the current "board definitions" concept, would there be any use in having an "addon definitions" concept? E.g. if using https://shop.pimoroni.com/products/pico-unicorn-pack with a Pico, I guess you might want to pick up the #define PICO_DEFAULT_LED_PIN 25 from boards/pico.h but then also have e.g. #define UNICORN_PACK_SW_A_PIN 16 in an addons/unicorn_pack.h ? Something similar might also be useful for Adafruit's Feather ecosystem? (i.e. separate pin-definition header files for the "base board" and different "addon boards")
If you think this is a good idea I'll spin it out into a separate issue, otherwise I'll just ignore it. :slightly_smiling_face:

@lurch I think that's a great idea! A particular case I am dealing with at the moment is with our Breakout Garden range of I2C addon's. On most of our boards the default I2C pins we use are 4 and 5, yet the PicoExplorer has them wired to 20 and 21. If I could just include a DEFAULT_I2C_SDA_PIN and DEFAULT_I2C_SCL_PIN for instance, that would be nice.
I don't think we would add things like the Unicorn into it, but we could have a common "Pimoroni Packs" addon and then specific ones for our bases, as we are attempting to follow a standard to our pinout were possible.
It should be something independent from the boards I would say, or at least have an option of saying which set of RP2040 boards it applies to. No point building for the Unicorn addon for a Feather 2040 for instance.
A tangential thing to this. Some instructions in the documentation on how to link in the board/addon switching into VS code would be good. Currently if I want to build for the Tiny2040 I have to do it via command line.

PICO_DEFAULT_I2C_*_PIN and PICO_DEFAULT_SPI_*_PIN would be nice, it will also makes the pico-examples run out of the box with most of the boards and their sensor, display add-on.

I just noticed
//////////////////////////
// brining over from pico.h  - need to verify...

// Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads)
#define PICO_SMPS_MODE_PIN 23

Do your boards actually have this hooked up?

No we do not have that hooked up on our boards. Pin 23's used for the user switch instead. Going to double check the files now

See https://github.com/raspberrypi/pico-sdk/pull/189 for tweaked board headers, and a new one for PicoSystem

@ZodiusInfuser @hathach There's probably no need for my "addon boards" concept I outlined above... :thinking:
The PICO_DEFAULT_* idea was added in #192 and https://github.com/raspberrypi/pico-sdk/blob/develop/src/boards/include/boards/vgaboard.h#L77 shows how you would define an "addon board" header with the current SDK: define all the custom-pins you need to, and then just #include "boards/pico.h" to pick up all the default pin-values not already set. boards/pico.h is sprinkled with #ifndefs, so it won't override anything that's been set before you include it.

Thanks for the update, yup, I think we are good for now with default i2c and spi pin :smiley:


need for objective c

hi i need to use it in my app but my code is in objective ci am unable to call method in my class
what is tableview.cr?

You can make the swift classes available to objective c by selecting the proper target for your app. Go to “Build Settings” and switch to “All”, instead of “Basic” which is the default. Here search for the “Packaging” section. Turn on “Defines Module”, by changing “No” to “Yes”.
Source


Why is there a database hit at every request ?

Hi and thanks in advance,
I've successfully setup JWT authentication using django-rest-framework-simplejwt and React but I'm still very confused about the advantages and specifically database hits.
I'm using simplejwt with ROTATE_REFRESH_TOKENS': True 'BLACKLIST_AFTER_ROTATION': True, when my access_token expire I ask for a new one through /api/token/refresh and it blacklist old tokens, I'm using axios interceptors to perform that automatically.
But in my understanding the benefits of JWt is that they are stateless, meaning I don't have to hit the user database table everytime I want to make an a request that needs authentication permission.
The problem is even with a simple view like this :
class IsConnecteddAPI(APIView):

    permission_classes = [permissions.IsAuthenticated]

    def get(self, request, *args, **kwargs):
        data = "You seem to be connected"

        return Response(data, status=status.HTTP_200_OK)

using django-silk I see that it still performs 1 query to my user table when my access token is valid , is that normal ? I'm really confused.
Here are django silk outputs
screen1
screen2
screen3
screen4
Isn't get_user from  https://github.com/SimpleJWT/django-rest-framework-simplejwt/blob/master/rest_framework_simplejwt/authentication.py hiting the user object everytime ?
I've already asked the question on reddit and SO and they advised me to remove AuthMiddleware, so I removed both 'django.middleware.csrf.CsrfViewMiddleware'  and 'django.contrib.auth.middleware.AuthenticationMiddleware' but I still get the same result. Setting permissions_classes to AllowAny doesn't vhange anything either.
That's  my axios code if needed :
import axios from "axios";

const baseURL = "http://localhost:5000";

const axiosInstance = axios.create({
  baseURL: baseURL,
  timeout: 5000,
  headers: {
    Authorization: localStorage.getItem("accesstoken")
      ? "JWT " + localStorage.getItem("accesstoken")
      : null,
    "Content-Type": "application/json",
    accept: "application/json",
  },
});

const axioAnonymousInstance = axios.create({
  baseURL: baseURL,
  timeout: 5000,
  headers: {
    "Content-Type": "application/json",
    accept: "application/json",
  },
});

axiosInstance.interceptors.response.use(
  (response) => {
    return response;
  },
  async function (error) {
    const originalRequest = error.config;

    if (typeof error.response === "undefined") {
      alert(
        "A server/network error occurred. " +
          "Looks like CORS might be the problem. " +
          "Sorry about this - we will get it fixed shortly."
      );
      return Promise.reject(error);
    }

    if (
      error.response.status === 401 &&
      originalRequest.url === baseURL + "token/refresh/"
    ) {
      window.location.href = "/login/";
      return Promise.reject(error);
    }

    if (
      error.response.data.code === "token_not_valid" &&
      error.response.status === 401 &&
      error.response.statusText === "Unauthorized"
    ) {
      const refreshToken = localStorage.getItem("refreshtoken");

      if (refreshToken) {
        const tokenParts = JSON.parse(atob(refreshToken.split(".")[1]));

        // exp date in token is expressed in seconds, while now() returns milliseconds:
        const now = Math.ceil(Date.now() / 1000);
        console.log(tokenParts.exp);

        if (tokenParts.exp > now) {
          return axioAnonymousInstance
            .post("/api/token/refresh/", { refresh: refreshToken })
            .then((response) => {
              localStorage.setItem("accesstoken", response.data.access);
              localStorage.setItem("refreshtoken", response.data.refresh);

              axiosInstance.defaults.headers["Authorization"] =
                "JWT " + response.data.access;
              originalRequest.headers["Authorization"] =
                "JWT " + response.data.access;

              return axiosInstance(originalRequest);
            })
            .catch((err) => {
              // redirect ro /login here if wanted
              console.log("axios Safe Instance error");
              console.log(err);
              // window.location.href = "/login/";
            });
        } else {
          console.log("Refresh token is expired", tokenParts.exp, now);
          window.location.href = "/login/";
        }
      } else {
        console.log("Refresh token not available.");
        window.location.href = "/login/";
      }
    }

    // specific error handling done elsewhere
    return Promise.reject(error);
  }
);

export { axiosInstance, axioAnonymousInstance };

( I know I shouldn't use localStorage but whatever )
and I would typically just call this function to make the simple request to the view written above :
 const IsConnected = () => {
    axiosInstance
      .get("/api/is_connected/")
      .then((response) => {
        if (response.status === 200) {
          console.log(response.data);
          console.log("Is connected : CONNECTED ");
        } else {
          console.log("IS connected : not connected");
        }
      })
      .catch((error) => {
        console.log("Is connected : NOT CONNECTED");
        console.log(error);
      });
  };

Use the experimental JWT authentication class in your settings file instead: JWTTokenUserAuthentication
As for why the database hits, stateless authentication does not mean don't check if the user is still active. Stateless just means we don't keep the session data on the server side. Stateful authorization is when we store the session data in a cache/database.
Even for session/stateful authorization, it's been raised in Django long ago by BertrandBordage as to why we hit the database to make sure the user still exists: https://code.djangoproject.com/ticket/23011
Hope that clears it up!

Oh hold on, let me also add the advantages and disadvantages that I missed in that previous comment.

Ok it's confusing because every article I read which compare classic Tokens vs JWT points out that it doesn't need to hit the databsed to confirm the user is logged in

@StitiFatah Edited that initial comment.

Ok it's confusing because every article I read which compare classic Tokens vs JWT points out that it doesn't need to hit the databsed to confirm the user is logged in

I'm assuming you're talking about how 99% of tutorials use this repository when it comes to SPA development. It's an extremely saturated market for tutorials, so I'm not surprised that probably 80% of those tutorials have never actually read the code before. Please only use this repository for local development, and follow that tutorial for production and deployment.

Sorry if this text sounds harsh. The topic of JWT with SPAs is something that keeps popping up that I vehemently dislike due to being a huge security vulnerability. If I sound mean/angry, truly sorry about the language!

Sorry if this text sounds harsh. The topic of JWT with SPAs is something that keeps popping up that I vehemently dislike due to being a huge security vulnerability. If I sound mean/angry, truly sorry about the language!

Don't worry it didn't sound harsh at all

I'm referring to general tals about JWT not only ones related to django or to this particular library.

Hm, that's interesting. JWTs is not an authentication method. It's just a token, a format, something that can just be generated. How you use it is up to a package/library.

but why don't you say it on the main README ?

I used to have all the templates in an issue, but it too was trying to replace session authorization for SimpleJWT authorization (which is what you did). So I just restarted and created that aforementioned repository. I can't merge any PRs without a different maintainer (for security purposes), so that's why you don't see it in the README.
We'll add that repository to the README sooner or later.

I should start again from scratch

No! Use SimpleJWT for local development and keep all your code. For PRODUCTION, don't use SimpleJWT.

@StitiFatah  I've update the README in that repository to be a little more clear regarding directions.

Hm, that's interesting. JWTs is not an authentication method. It's just a token, a format, something that can just be generated. How you use it is up to a package/library.

I should stop reading random articles on the internet and take them to seriously before reading official docs then, i should have learned the lesson while ago

No! Use SimpleJWT for local development and keep all your code. For PRODUCTION, don't use SimpleJWT. If you need some help, let me know in that repository (since this method is actually no in the repository).

OK thanks for your help ! I might take the time to read https://github.com/Andrew-Chen-Wang/SPA-with-httponly-sessions .
If I understand well you advice to use SimpleJWT in development ( to take advantage of hot reloading )  and using the old way ( session ) in production by putting the react app in the static files ?
It's my first React SPA and went with JWT to have a clear separation and don't have to worry about connecting react to django through django-webpack-loader or whatever. When I was using Vue that's what i've been doing ( vue dist in static files )  and I got hot reloading without django webpack loader just using this in my vue config

module.exports = {
  publicPath: "/static/dist",
  outputDir: "../static_in_env/dist",
  indexPath: "../../templates/demo/index.html",
  //   productionSourceMap: false,
  filenameHashing: false,
  // Django will hash the files for us, not webpack
  configureWebpack: {
    output: {
      chunkFilename: "[id]-[chunkhash].js",
      // DO allow webpack to hash chunks.
    },
  },

  devServer: {
    writeToDisk: true,
    // Write files to disk in dev mode, so Django can serve the assets
  },
};

Yes, you are correct.

django-webpack-loader

Originally, that repository was kinda like a copy of webpack loader, just much smaller. But the new README suggests you don't use web pack at all.

When I was using Vue that's what i've been doing ( vue dist in static files ) and I got hot reloading without django webpack loader just using this in my vue config

Unfortunately, I'm not much of a JS developer haha. But I actually don't quite understand this. But from your description, it sounds like what you did before was mostly correct? Sorry still don't know much about SPA development itself. I think my repository was just providing a way to deploy your static files to GitHub pages as a CDN (and the same action if you deploy the built HTML from your JS repository to your Django repository).

Yes, you are correct.

django-webpack-loader

Originally, that repository was kinda like a copy of webpack loader, just much smaller. But the new README suggests you don't use web pack at all.

When I was using Vue that's what i've been doing ( vue dist in static files ) and I got hot reloading without django webpack loader just using this in my vue config

Unfortunately, I'm not much of a JS developer haha. But I actually don't quite understand this. But from your description, it sounds like what you did before was mostly correct? Sorry still don't know much about SPA development itself. I think my repository was just providing a way to deploy your static files to GitHub pages as a CDN (and the same action if you deploy the built HTML from your JS repository to your Django repository).

Yes it was fine with Vue. Thanks for your time and clarification anyway , I'll point out this issue in my topic on  r/django and will surely check your repo !

Was using dj-rest-auth which support simplejwt.
Each request (even empty ones) took at least 85-125ms because of that query.
Decided to rewrite dj-rest-auth's auth module to use the experimental's one.
Now it's 5 times faster.

For PRODUCTION, don't use SimpleJWT

Uhm, can we please elaborate on this statement? I don't see anything in the readme or the docs that says "this module is only for development, never use in prod" - To find this sort of slapped willy-nilly in a comment is jarring at the least.

For PRODUCTION, don't use SimpleJWT

Uhm, can we please elaborate on this statement? I don't see anything in the readme or the docs that says "this module is only for development, never use in prod" - To find this sort of slapped willy-nilly in a comment is jarring at the least.

It's an opinion of mine that if you're using an SPA with SimpleJWT, my opinion is to switch to using sessions. People have used SimpleJWT successfully with an SPA, but with the influx of tutorials, I've mostly left this out of any docs.
There's a years long PR that is implemented in dj-rest-auth that helps and uses simplejwt, so most have gone there

Interesting, so in your opinion this is better than using just SimpleJWT with the blacklist app and short lived tokens?

Yes, using sessions is much better. Instagram still does it to this day.


Worm sometimes shooting twice

Don't know how to perfectly reproduce it yet but here are two theories:
1

Go into the range of the worm for an extended period of time until it wants to shoot.
Exit the range
Enter the range again letting it shoot this time

2

Enter the range of one worm
Kill it right before it wants to shoot
Enter the range of another worm

What does that mean?
Depending on what the cause is the way to fix it is vastly different.
GLHF

Theorie one works.
Let the attack-animation start but interrupt it by exiting the worms range.


TII-217 SQL statement for TII-201 does not work for case sensitive MySQL instances

https://jira.sakaiproject.org/browse/TII-217
The SQL statement references table and column names in lower case, which does not work for case sensitive MySQL installs.
Changing the table and column names to upper case will fix the issue while still maintaining compatibility for non-case sensitive MySQL instances as well as Oracle instances.

Thanks @buckett for identifying this

LGTM (just for reference, case sensitive MySQL installs only case about table names, column names are always case insensitive, it's all crazy.) Thanks.

Thanks for the quick fix 🍰

Oh that is weird, but good to know for future reference! Thanks @buckett


Crash on 1.19.2 Forge - Mod loading error

Mod version: 1.3.6-forge
Forge version: 43.1.47
crash-2022-10-28_18.41.55-fml.txt

I experience the same.
Forge version: 43.2.21

Same Here


Where I can get the source of github full sample

Hello
On https://liihuu.github.io/KLineChart/ there is a react sample which I tried to find but didn't success,
https://github.com/liihuu/KLineChartSample doesn't have this source for the sample on github with all these components on the chart.
Please share with us this sample you have on github.
Kind Regards
Ahmed

?

#56


Users/asranja/fixtypo releases v2

Saya sangat tertarik dengan ini

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

Changes were already merged.


Link to elm-lang/http in README.

This package (evancz/elm-http) is the top google search result for "elm http", but almost certainly users are looking for elm-lang/http instead.  Point them to the new location.
I'm not the first to have this confusion:  https://groups.google.com/forum/#!topic/elm-discuss/nEsmgh4LD4A

duplicate of #54


Fix minor typos in java comments(javadoc) and all that minor typos

open the PR of typo correction, i found while using the driver for a long time.
--
I understood it to only open issues for features or bugs.
so,,, should i open an issue? if so, please tell me 🙇

HI @heli-os thanks for the PR - as it was for the Javadoc alone and not functional I approved and merged without having to add a Jira ticket.
Many thanks for your contribution!


convert from sqlitedb to mbtiles ?

im trying to convert back from sqlitedb to mbtiles can u help please ?

check this script: https://github.com/tarwirdur/mbtiles2osmand/blob/d1aae40a40aab36f46e95d249147ce68f0ccde76/osmand2mbtiles.py
I've tried to get mbtiles file, convert it into osmand format and back. Looks working.

check this script: https://github.com/tarwirdur/mbtiles2osmand/blob/d1aae40a40aab36f46e95d249147ce68f0ccde76/osmand2mbtiles.py
I've tried to get mbtiles file, convert it into osmand format and back. Looks working.

I'll give it a shot today thank you very much .

check this script: https://github.com/tarwirdur/mbtiles2osmand/blob/d1aae40a40aab36f46e95d249147ce68f0ccde76/osmand2mbtiles.py
I've tried to get mbtiles file, convert it into osmand format and back. Looks working.

It's working like a pie thank you you are the best .


Move report/ to doc/

Hi Jasmine,
Can you move the files under report/ folder back to doc/?

Tiffany had hers under report! Is there a reason we should move it

can you check again ...

https://github.com/ttimbers/breast_cancer_predictor/tree/master/doc

It's okay I'll just move it

Main point is to put things that is for final audience in the same folder =D

Fair enough. Done!


Update Home Page “home_page”

Automatically generated by Netlify CMS

please ignore, i was trying this on a deploy branch


doctype is referred to as a preamble in the specs

Describe the Issue
https://developer.mozilla.org/en-US/docs/Glossary/Doctype
https://html.spec.whatwg.org/multipage/syntax.html#the-doctype
I think in most places we call it a declaration.
It isn't a big deal. But we might want to consider using the same terminology as the specs.
Affected Page
https://www.freecodecamp.org/learn/
Your code

Expected behavior
Terminology of the specs.
Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
No response

This is an interesting one. The HTML spec calls it a preamble, but used to call it a definition.
The XML spec, however, does call it a declaration. Or a definition.
The W3 also calls it a declaration sometimes.

From personal experience, I've never heard it called anything other than a declaration. I would worry that saying "preamble" instead might just result in more confusion?

The word "definition" could be historical and related to DTD (document type definition).
The word "declaration" could simply be that writing a doctype, means it has been "declared", which seems reasonable enough. But saying it has been declared and calling it a declaration isn't necessarily the same thing.
The word "preamble" could be a more generic term, related to its position in the document, more than some other word that might describe its various valid forms and implications (rendering mode).

Digging long and hard enough, it would be possible to find the instance where the doctype became known as a preamble. But nevertheless, it is what the specs call it.

I'm not sure a beginner would be any more confused about the word preamble, than they would definition, or declaration. Although, it is possible.


chore: Changes to analytics names and timing

Argus Stack Details

Name
rainandbare-7299-analytics-turn-on-only

Short Name
mint-marmot

Base URL
https://mint-marmot.dev-sc.dev.czi.team

Addresses issue #7299
Renames:

EXPLORER_CLIP to EXPLORER_CLIP_SELECTED
EXPLORER_VISUALIZATION_SETTINGS_BUTTON_CLICKED to EXPLORER_CLIP_CLICKED

Only Trigger when feature is toggled on:

EXPLORER_SHOW_LABELS
EXPLORER_CLIP_CLICKED
EXPLORER_GENE_VIEW_DISTRIBUTION
EXPLORER_COLORBY_GENE
EXPLORER_COLORBY_GENE_SET

Checklist before Merge

[ ]  Once event updates are deployed to Staging ping @ainfeld to check analytics
[ ]  Verify events are showing up in the Staging space in Plausible correctly

Wow so fast 🔥 You're amazing, @rainandbare !!
I added stack label to get an rdev 👍 !

@rainandbare we might need to uncomment // console.log("track", event, options); temporarily for @ainfeld to verify the events in rdev 🙏
Thank you!

thanks!! @rainandbare what url should I look at to test out the events?

Thanks!! @rainandbare I tried clicking the base URL above but it's not working. What URL should I look at to test out the events?

Thanks!! @rainandbare I tried clicking the base URL above but it's not working. What URL should I look at to test out the events?

Yeah - I see that too! Let me see what I can do. ⏳


Update spark-scala2.13.json

updated download URL - hostname is dlcdn.apache.org
Closes #1557 and #1556, relates to #1555

[x] I have read the Contributing Guide.

The SHA512 can be found here: https://dlcdn.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3-scala2.13.tgz.sha512


Plus icon small and in the wrong place.

Hi,
I've (surprisingly) not seen any open issues mentioning this. The plus icon to add a new field is very small and easily overlooked. It's also not very user-friendly. Here is how to current add-icon looks like.

I propose at least one of the following:
Center the button and make it bigger:

Align it to the left and make it a button, just like how wagtail itself does it (this button looks horrible, but imagine the same button wagtail uses):

I look forward to your responses :)

I agree that we probably should make the secondary plus buttons a tiny bit bigger, the main part of the problem here is that the standard plus button is missing (see #48 ) due to a css bug.
It should (and used to before the css issue) look like this:

While we fix #48 we can make the secondary buttons a tiny bit bigger, but the idea with them is that they aren't as prominent.


Corrupted dir pair at {0x405, 0x406}

I have a small issue with littlefs. Maybe you can point me to the right direction.
I am using STM32F103CBT6 and W25Q128 flash memory.
Flash memory write, read, and erase functions where implemented and are working properly.
In my scenario i am using the default demo that writes a simple counter variable and at  the same time i am writing 100bytes of ascii characters to a second file. After these operations are complete i reboot the mcu and start again (stress testing the process).
After exactly 129 attempts mounting fails and i am presented with the following error.
../littlefs.c:1369:error:Corrupted dir pair at {0x405, 0x406}
Erase function operation:
Function accepts a block number. It will determin the exact location it needs to erase and it will erase it.
Flash write function:
Flash write function will accept the location where the data needs to be written to offsets and so on and it will accept the data that needs to be written. I am taking care of the chunk size it needs to write and i am erasing 4K before writing to the flash within the function.
Flash read function:
Reads the data from the specified location.
At first the issue was related to the configuration lfs. The fail would happen at 5th attempt. And the error that would be displayed was ../littlefs.c:1369:error:Corrupted dir pair at {0x00, 0x01}.
Can you give me an idea how to solve this one ?
Edit:
Additionaly i am polling the status register to wait for the busy bit on the flash memory to go to 0 before starting the next write/erase operation.
====System initialized====
Trying to mount filesystem
Filesystem mounted
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{
boot_count: 124
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
Filesystem mounted
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
boot_count: 125
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
Filesystem mounted
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
boot_count: 126
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
Filesystem mounted
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx~
../submodule/littlefs/lfs.c:2182:debug: Expanding superblock at rev 256
                                                                       boot_count: 127
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
Filesystem mounted
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
boot_count: 128
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
Filesystem mounted
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx▒
boot_count: 129
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
Filesystem mounted
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx▒
boot_count: 129
[mcu_printf_init]: printf initialized

====System initialized====
Trying to mount filesystem
../submodule/littlefs/lfs.c:1369:error: Corrupted dir pair at {0x405, 0x406}
                                                                            Error mounting filesystem.
 Formating -84
Performing chip erase
Chip erase complete. Formating filesystem
Format complete

logs-before-crahs.txt
Logs before formating.

This can be marked as solved. It was related to the low level functios that write to the flash memory. What i changed inside of them was before and after setting anything within the w25q128 chip, reading, writing and erasing i am waiting for the busy flag to go to value 0. What happens is sometimes it takes more time than specified by the datasheet to release it.

Hi @p01u9a, interesting issue. Glad you were able to solve it. Timing not matching the datasheet is certainly strange.


Add an option to set cursor blinking speed in ms

Fixes #4277

@jnsebgosselin thanks for the contribution, you need to align the two spinboxes (the one from custom margins from panes) Look at the code that does this for the fonts on upper part of your screenshot

@jnsebgosselin also you should make the PR against 3.x I think @ccordoba12 ?

Preview with aligned custom margins and caret blinking spinboxes and slabels:

Looks good, except for the branch @ccordoba12 ?

@jnsebgosselin, thanks a lot for your contributions! However, we need to ask you to move all your branches from the 3.1.x branch (which is not going to receive more updates) to the 3.x branch (which is our maintenance branch right now).
Sorry for not being clear enough since your first contribution, but you can find the instructions to do that here
https://github.com/spyder-ide/spyder/blob/master/CONTRIBUTING.md#spyder-branches

@ccordoba12 kk good. I finally managed to rebase this PR. I hope it is not too messy. I can create a new clean PR if required.
Thanks for the link, I'll read it carefully and I will try to improve my setup.

Changing this option requires a Spyder restart because it's applied at the window level.
@rlaverde, please instruct @jnsebgosselin on how to do that.

@jnsebgosselin Thanks, for you contribution, in order to make this an resting option, you need to add restart support to create_spinbox() and create_checkbox, and in def load_from_conf() add the labels to the restart_options array. And use it when calling the creating of the checkbox and he spinbox
You can take a look at this commit https://github.com/spyder-ide/spyder/pull/4454/commits/8fafe45279d0b679f2986fc9ec49961cb1c8443c

@rlaverde @ccordoba12 Thank you. But are you sure this needs a restart? Seems to me like this can be applied at run-time. At least, it is on Windows.
That being said, something was not working as expected with the code. When the option to use a custom cursor blinking time was unchecked, after a custom value had been set, the value was not reset to the OS default. QApplication.cursorFlashTime() actually returns the value for the current application instance, not the default value set for the OS. So basically, nothing was being changed.
I haven't found an easy way to get the OS default value for the cursor flash time. This seems to be very platform dependent. Unless you guys know of a better way, maybe we could cache the value of QApplication.cursorFlashTime() at startup?This way, no restart would be needed for this setting, which would be better I think.  I've made the changes to the PR so you can look it up already.

@ccordoba12 ?

@ccordoba12 This is working as expected, both on Windows and Linux, without any Spyder reboot required

Thanks a lot for testing @andfoy! Merging then ;-)


Redux State returns undefined after running the command yarn cleanAndSetup

Before opening a new issue, please take a moment to review our community guidelines to make the contribution process easy and effective for everyone involved.
Description
The state in Redux store returns undefined
Steps to reproduce
Steps to reproduce the behavior:
I created a react app by using the command
yarn create react-app --template cra-template-rb my-app
After the app is created, everything just works perfectly. But after I run the command yarn cleanAndSetup
I created a new slice using yarn generate slice
When I tried to use the slice in my home page, then the page doesn't work anymore

Here is what I found from the browser console:

Turns out, it's because the state value in the below picture is undefined

Expected behavior
The state value shouldn't be undefined
Screenshots
If applicable, add screenshots to help explain your problem.
Versions

react-boilerplate-cra-template:
Node/NPM:
Browser:

Redux states are not initialized may be. Before extracting states const home = useSelector(selectHome),
initialize redux state like const {actions} = useHomeSlice()
example:
import { useHomeSlice } from './pages/HomePage/slice'

const { actions } = userHomeSlice()
const home = useSelector(selectHome)

console.log(home)```

Oh, it works like a charm. Thank you, now I understand why the error happened.


fix: Move HA library dependency to a dev dependency

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

Project coverage is 100.00%. Comparing base (c862337) to head (ec1841c).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #27   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines          122       122
=========================================
  Hits           122       122

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


UPDATE: replace python-jose with pyjwt

python-jose seems unmainted.

@Segelzwerg this dep also needs to be removed from core, if possible


Remove print and logging calls from library.

It doesn't make sense for a library to just print text. :-)

@nixpanic PTAL.
This should obsolete PR #117


Deploy live site May 2021

Docs Build status updates of commit 44cfbbb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/index.md
:white_check_mark:Succeeded
View

sysinternals/downloads/media/procmon/procmon-main.gif
:white_check_mark:Succeeded

sysinternals/downloads/media/procmon/procmon-main.png
:white_check_mark:Succeeded
View

sysinternals/downloads/media/procmon/procmon-proc.gif
:white_check_mark:Succeeded

sysinternals/downloads/media/procmon/procmon-proc.png
:white_check_mark:Succeeded
View

sysinternals/downloads/process-explorer.md
:white_check_mark:Succeeded
View

sysinternals/downloads/procmon.md
:white_check_mark:Succeeded
View

sysinternals/downloads/psexec.md
:white_check_mark:Succeeded
View

sysinternals/downloads/sigcheck.md
:white_check_mark:Succeeded
View

sysinternals/downloads/sysinternals-suite.md
:white_check_mark:Succeeded
View

sysinternals/downloads/sysmon.md
:white_check_mark:Succeeded
View

sysinternals/downloads/tcpview.md
:white_check_mark:Succeeded
View

sysinternals/downloads/winobj.md
:white_check_mark:Succeeded
View

sysinternals/downloads/zoomit.md
:white_check_mark:Succeeded
View

sysinternals/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[RFC][Docs] Expand Common Use Cases to improve discoverability

📚 Documentation
The goal is to improve discoverability when using the docs for new users, or users who just want to see what features we support. We've grouped quite a bit into the drop down which hides and obfuscates important information that the user may not know to click imo.
To improve this, I suggest we go from this:

to this:

Negatives are that dropdown options below common use cases require scrolling now, however I think this is fine given the priority of showing features that we support out the box on the left.

I like it and also I would make the landing page look more like our actual readme, have just double content list is not very useful


Added bank management system

Issue:#13
I have added bank management system. Please look into it. @Rancho2002

okay

@Rancho2002  Through video it is much difficult to understand the process of this project.
Thus I added readme with steps and functions that can be performed along with text and image.
Let me know if then also you feel that video is must, then I will add it too.

Already given star


Handle / simplify batch fs events

Summary
Problem
Currently, the API requires that developers explicitly call fs.publish after any "mutation" (mkdir, add/write, etc). This reduces the backend load / updates and makes it more performant on batch operations.
Impact
However, it's reasonable to assume that developers may miss the two step process and assume that write will create the file and it will be subsequently ("instantly") available.
It's worth some discussion on the best approach here. Ultimately, with a goal of making "the right thing the easy thing". Some early options are:

Leave the API as is, but improve the documentation / examples.
Tweak the functions (mkdir, write) to accept a single object or a list, automatically publish at the end, but batch the list of updates.
Have distinct / separate methods for either single (write()) vs batch (batchWrite()) or async (write()) vs sync (writeSync()) - where the former will batch operations and publish them at some point, the latter performs the operation and immediately publishes.

...just riffing here...

after any "mutation"

I think you've hit the nail on the head here for several reasons, including that queries are automatically handled currently.

batchWrite()

There's definitely something in here about grouping actions. I wonder if it's more flexible and easier to think of to say "these actions together" as opposed to "this batch of files writes" and "this batch of directory changes". Something I mentioned internally was perhaps leveraging the nondestructive nature of our tech to provide a transactional API. Depending on the exact background of the users, that could look something like:
const fileDataA = foo

atomic { // or "transact"
  fs.write(filePathA, fileDataA)

  fs.delete(directoryPath)

  const fileB = await read(filePathB)
  const fileAB = fileDataA ++ fileDataB
  file.write(filePathB, fileAB)
}

// or more friendly: together, or atOnce?

The advantages are that it crosses queries and mutations, and lets you do things like automatically roll back if you throw partway through updating, automatic retry, and even potentially auto-rebasing over data if you were behind DNSLink for some reason.

Option 2 and the grouped actions per @expede are both appealing.
Option 2 makes sense as the "easy thing". Once you learn that you can pass a function an object or a list, you can apply that knowledge to all of the other functions. (Are there exceptions where a list wouldn't work?)
The grouped actions would be a slightly more advanced technique, where you can get more power when you need it.
Somewhat related, it would be useful to be able to cancel an action. For example, say a write() is started, but a second write() to the same file is requested before the first one completes. It would be useful to cancel the first write. This would make sense in a grouped action where you want to make sure to cancel before the second write.

Are there exceptions where a list wouldn't work?

Depends on what we try to enable. If you want to be able to have things like automatic retry, then the closure needs to be free of side effects. Cancelation also may lead to confusing results in that scenario if it's not clear what's happening.
That said, cancelling an action inside a write block is always possible.

Are there exceptions where a list wouldn't work?

WNFS is nondestructive, so you can always revert to a previous version of a file. Transactions make this very natural, but yeah, can't hurt to build in some sort of try and/or revert mechanism in't the WNFS DSL.
I'd say in general we'd want to encourage people to apply changes locally and sync at the end, since we 1. probably don't care about all that intermediate state, and 2. zero loss of functionality locally while allowing very fast operations, and making those "durable" (syncing DNS) at the end of the semantic block.

"apply changes locally" "dont'care about all that intermediate steps"
I agree. Having use WNFS for over a month and using Orbitdb for a long time, so it is all the same technology underneath, in practice when you swithch between devices you have to "refresh" the browser anyhow, and you need to "wake your" peers.
In fact there should be a way to indicate or desover automatically that  you started using the app on a device.
At that point the missing publish can be executed.

Guarding against data loss is of paramount importance. I have added code to add files keyed by path to a localforage database so that I can recover and sync on request across devices if and when they get out of sync, Which did happen twice.
In any case I think doing something like that would be a prudent thing to do.

Guarding against data loss is of paramount importance. I have added code to add files keyed by path to a localforage database so that I can recover and sync on request across devices if and when they get out of sync, Which did happen twice.
In any case I think doing something like that would be a prudent thing to do.

Implemented in #500
Part of #501


retrying with generators

Will this work with a generator, and would it be possible to resume retrying from the failed state in a generator, not from the beginning?

I just tried it myself, don't think it'll work with generators. Basically the retry library doesn't take effects if it's on a function yield stuff.

I have implemented generator support. Here it is the pull request:
https://github.com/rholder/retrying/pull/83
I am waiting for some feedback from retrying library author.

Given the feedback I received after a week, I wonder if there is still a maintainer of this project.
@rholder could you please review the pull request?


Update the docs site with the changes from the latest aws stack

Hi @wolfeidau ,
Looks like the Buildkite stack in main has already been bumped up to v6.22.4, whereas this one is still for v6.22.2.
Perhaps another PR was merged into the main branch earlier that bumped v6.22.0 directly up to v6.22.4?
Anyway, it seems that this PR is now obsolete. Would it be possible to close this PR then?
cc @mbelton-buildkite