text:
Often over limit for simple massages

Frequently Asked Questions

[X] I have read the FAQ before opening the issue.

Workflow version
2024.9
Alfred version
5.5
macOS version
sonoma
Debugger output
[09:25:41.780] Logging Started...
[09:25:45.301] ChatGPT / DALL-E[Keyword] Processing complete
[09:25:45.310] ChatGPT / DALL-E[Keyword] Passing output 'how' to Arg and Vars
[09:25:45.311] ChatGPT / DALL-E[Arg and Vars] Processing complete
[09:25:45.312] ChatGPT / DALL-E[Arg and Vars] Passing output '' to Automation Task
[09:25:45.314] ChatGPT / DALL-E[Automation Task] Running task 'Does Path Exist?' with arguments (
    "/Users/chuanhe/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/com.alfredapp.vitor.openai/chat.json"
)
[09:25:45.357] ChatGPT / DALL-E[Automation Task] Processing complete
[09:25:45.363] ChatGPT / DALL-E[Automation Task] Passing output 'true' to Conditional
[09:25:45.364] ChatGPT / DALL-E[Conditional] Processing complete
[09:25:45.365] ChatGPT / DALL-E[Conditional] Passing output 'true' to Arg and Vars
[09:25:45.366] ChatGPT / DALL-E[Arg and Vars] Processing complete
[09:25:45.366] ChatGPT / DALL-E[Arg and Vars] Passing output 'how' to Text View
[09:25:45.429] ChatGPT / DALL-E[Text View] Running with argument 'how'
[09:25:45.634] ChatGPT / DALL-E[Text View] Script with argv 'how' finished
[09:25:45.642] ChatGPT / DALL-E[Text View] {"rerun":0.1,"variables":{"streaming_now":true,"stream_marker":true},"response":"### i have .zsh_history that contains dups, i want to dedup and writes to itself in bash\n\nGiven that you have a `.zsh_history` file that contains duplicates, you can de-duplicate it in bash with the help of awk, sort and sponge commands. \n\nFirst, a backup is recommended:\n\ncp ~/.zsh_history ~/.zsh_history.bak\n\n\nThen you can remove duplicates like this:\n```bash\nawk '!a[$0]++' ~/.zsh_history | sponge ~/.zsh_history\n```\n\nAnother way is to use sort and uniq commands:\n```bash\nsort ~/.zsh_history | uniq | sponge ~/.zsh_history\n```\n\n**Please note:** The `sponge` command is part of moreutils. If you don't have `sponge`, you would need to install it or use an equivalent like `tee`. If `sponge` is not installed, you can perform it using the below command:\n\n```bash\nsudo apt install moreutils  #Debian based systems\nsudo yum install moreutils  #RedHat based systems\n```\n\nAlso note that using `sort` and `uniq` will sort your history which may not be desirable. The `awk` approach will maintain the original order.\n\n### what is this awk arg?\n\nThe AWK command is often used for manipulating files and strings in shell scripting. \n\nThe argument `!a[$0]++` in the AWK command is a one-liner to remove duplicates while preserving the order of lines.\n\nHere is a breakdown of what it does:\n\n- `a` is an associative array that AWK automatically creates.\n- `$0` is the whole line in the file.\n- `!a[$0]++` is a logical not `!` and a post-increment `++`. This syntax exploits the fact that in AWK, an uninitialized variable has the numeric value 0 and the empty string value \"\".\n- So, when a line is first encountered, `a[$0]` is 0 (which is false), so `!a[$0]` is true. The line gets printed, and then `a[$0]` is incremented to 1.\n- When the same line is encountered again, `a[$0]` is 1 (which is true), so `!a[$0]` is false, and the line does not get printed.\n\nThis means that each unique line will only be printed the first time it's encountered by AWK, effectively removing duplicates from the file.\n\n### where is launchtl xml stored macos\n\nLaunchd and its configuration files play a very main role in macOS systems. Launchd items are essentially just XML files that are stored in various locations on your Mac’s file system.\n\nEach `launchd` job is described by a separate `.plist` file. These `.plist` files are stored in a handful of specific locations on the macOS file system:\n\n- `/System/Library/LaunchAgents`: These are the system level agents provided by Apple. Generally, you shouldn't modify anything here.\n- `/System/Library/LaunchDaemons`: These are the system level daemons provided by Apple. Again, you shouldn't modify anything here.\n- `/Library/LaunchAgents`: Agents for all users.\n- `/Library/LaunchDaemons`: Daemons for all users.\n- `~/Library/LaunchAgents`: Agents for the currently logged in user.\n\nEach file specifies one job to be run, and the name of the plist file minus the extension is usually referred to as the `label` or `id` of the job.\n\nNote that changes to the system directories may not persist through system updates and reinstallations. Changes to the user directories will only affect the current user. Make sure not to change or remove system files unless you know what you're doing.\n\n### does subshell respec .zshrc\n\nIn Zsh, as well as in other shells like Bash, a subshell does not automatically source (i.e., read and execute commands from) the shell's startup files like `.zshrc`.\n\nNormally, `.zshrc` is sourced when an interactive shell starts. A subshell, however, is not interactive and therefore does not source `.zshrc`.\n\nIf you want to ensure that certain settings or variables are set in subshells, you should put those settings or variables in a configuration file that the shell reads for non-interactive sessions, such as `.zshenv`.\n\nHowever, it's also possible to force the sourcing of `.zshrc` in a subshell by manually sourcing it, like so:\n\n```zsh\n(source ~/.zshrc; other_commands...)\n```\n\nRemember to be careful with this approach, as `.zshrc` may contain settings or commands that aren't suitable for non-interactive sessions.\n\n### so if an alias is set in .zshenv, does it need to be set again in zshrc?\n\nNo, if an alias is set in `.zshenv`, it does not need to be set again in `.zshrc`. \n\nThe `.zshenv` file will be loaded for all Zsh sessions, both interactive and non-interactive, which means that anything declared within `.zshenv` such as variables and aliases will be accessible in any zsh session.\n\nOn the other hand, `.zshrc` is sourced only for interactive sessions. \n\nSo, if you create an alias within `.zshenv`, it will be globally available in all your zsh sessions, including those that source `.zshrc`. This is why you don't have to declare the alias again in `.zshrc` if it's already declared in `.zshenv`. \n\nBear in mind that you should only put environment settings in `.zshenv` that are needed by graphical applications or non-interactive scripts, not anything that's specifically for the command-line.\n\n### where do i put my username and email in my git repo\n\nYou can add your username and email to your Git configuration at the global level or per individual Git repository. This information is used by Git to associate your name and email address with each commit you make.\n\nFor a global setting, open a terminal and use the following commands:\n\n```bash\ngit config --global user.name \"Your Name\"\ngit config --global user.email \"your-email@example.com\"\n```\n\nIf you want to specify the username and email for a specific Git repository only, navigate to the directory of that repository and use these commands (without `--global`):\n\n```bash\ngit config user.name \"Your Name\"\ngit config user.email \"your-email@example.com\"\n```\n\nThis associates \"Your Name\" and \"your-email@example.com\" with all future commits in the current repository. Please replace these with your real name and email. Be aware that this information will be publicly accessible if you push commits, e.g. to public repositories on platforms such as GitHub.\n\n### ssh-keygen -t ed25519 -C \"your_email@example.com\"\n### what is the point of adding in email\n\nThe `-C` flag in the `ssh-keygen` command is used to provide a comment to the generated key. The comment doesn't have a functional role in SSH operations. It is mainly used for identifying the SSH key. This can be beneficial if you use multiple SSH keys and you want to keep track of each one.\n\nIn your example, `ssh-keygen -t ed25519 -C \"your_email@example.com\"` generates a new SSH key of type ed25519, and the comment associated with that key will be \"your_email@example.com\".\n\nOften, people use their email as the comment to quickly identify to whom or to which machine the SSH key belongs. However, it can really be any string you want. \n\nJust bear in mind that, if you publish the public part of the key, the comment is fully visible to others. So, avoid putting sensitive information in it.\n\n### permission 0644 are too open for private key files\n\nYes, SSH private key files should not have overly permissive permissions as it's a security risk. SSH strictly requires that your private key files are not accessible by others on your system. Anyone who can access your private key file could potentially initiate a session to a remote server, impersonate you, or perform malicious activity.\n\nErring on the right side of caution, SSH will not use a private key file if it's accessible by others. Therefore, a private key file should be readable/writable by only the owner.\n\nTo ensure the right permissions, use the chmod command to change your private key file permissions so only you have read access. No other permissions should be set. Here's how:\n\n```bash\nchmod 600 ~/.ssh/id_rsa\n```\nReplace `~/.ssh/id_rsa` with the path to your actual private key file if it's different.\n\nIn this command, `chmod 600` sets the file permissions to \"readable and writable by owner, not accessible by anyone else\". This is the permission level you want for your private key files.\n\n### what is text debounce in terms of neovim plugins\n\nThe term `debounce` is a concept borrowed from electronics and applied to software. In the context of neovim plugins and text editing, `debounce` is often used in relation with real-time functions such as autocompletion or live-previews that constantly update as you type.\n\nNormally, an action (e.g. autocomplete suggestion or syntax check) would be triggered every time a key is pressed. This could lead to performance issues while typing in the editor if the event handlers attached to these actions are heavy operations.\n\nDebouncing in this context is used to limit how often a function can fire, by introducing a delay for a certain amount of time after the last action. This way, the event will only be handled after you have stopped typing for a certain amount of time, and not on every single keystroke.\n\nFor instance, if you have a linter plugin in neovim that checks your syntax on every keystroke, if `debounce` is set to 500 milliseconds, then the linter will only run 500 milliseconds after you've stopped typing. This can make the neovim smoother as it reduces load on the system.\n\nIn summary, text debouncing in terms of neovim plugins helps improve performance by controlling how frequently real-time update functions are run.\n\n### so its bascially a delay?\n\nYes, in a sense, debounce is a delay mechanism. \n\nHowever, it's not just any delay. Debouncing is a software practice used to ensure that time-consuming tasks do not fire so often, so that they don't overload the capacity of the performance. \n\nIn an editor, like NeoVim, when you type, if there are actions attached to every keystroke like syntax checking, autocomplete suggestions, etc., and if these tasks are directly fired at every keystroke without a control mechanism, it can notably slow down the system.\n\nWith debouncing, these tasks will be bundled and executed after a specified delay once the user has stopped typing, rather than at each keystroke. It's a way to increase the efficiency of the system. So while it acts like a delay, it is a delay with the intent of limiting the frequency of a function execution, and thus increasing performance.\n\n### how to close a pane in vim\n\nYou can close a pane in Vim using the `:q` or `:close` commands:\n\n- `:q` (short for `:quit`) will close the current window. If it's the last window (containing the last buffer), Vim will quit altogether.\n- `:close` will close the current window, but if it's the last window with the last buffer, Vim will refuse to do this.\n\nYou can also use `:bd` (buffer delete) to wipe out the buffer and close the window.\n\nAltering between panes can be done using `Ctrl-w` followed by the direction. For instance:\n\n- Ctrl-w + h will move to the left window.\n- Ctrl-w + j will move to the bottom window.\n- Ctrl-w + k will move to the top window.\n- Ctrl-w + l will move to the right window.\n\nNote: Case is important in Vim commands, so make sure you use lowercase.\n\n### how to close a buffer in vim without closing that window, when having more than 1 windows\n\nYou can close a buffer without closing the window by using the `:bdelete` command or its abbreviated version `:bd`. This command deletes the buffer, but your window layout is preserved.\n\nHowever, simply calling `:bd` will typically end up showing a different buffer in the window, or a blank buffer if there are no other buffers to show. If you want to have explicit control over what shows up in your window after deleting the buffer, you might want to manually switch to a different buffer first using the `:buffer` or `:b` command, followed by a buffer number or a part of the file/buffer name, before you delete the buffer. \n\nFor example:\n\n```vim\n:b otherFile    \" switch to buffer containing 'otherFile'\n:bd1            \" delete buffer number 1\n```\n\nYou can use `:ls` or `:buffers` to list the open buffers if you're unsure what else is open.\n\nRemember, `:bd` deletes a buffer (removing it from the buffer list and memory). If you just want to hide a buffer, you can use `:hide`, which closes the current window but keeps the buffer in the buffer list.\n\n### no bd closes the windows as well\n\nApologies for the confusion earlier. You are correct. The `:bd` command does close the window as well as the buffer.\n\nIf you would like to delete a buffer in vim but keep the window layout, then you need to first change to another buffer before deleting the one you want to get rid of.\n\nHere's how you can do that:\n\n1. List the open buffers by typing `:ls` or `:buffers`. Each buffer will have an associated number.\n2. Switch to a different buffer using `:b #`, where '#' is replaced by the number of the buffer (For example, `:b 2` will switch to the buffer 2).\n3. Now, you can delete the other buffer using `:bd #` (like `:bd 1` to delete the buffer 1).\n\nThis will delete a specific buffer while keeping the window layout. \n\nAlternatively, you can open a new empty buffer in the current window with `:enew` before deleting the old buffer, if you don't want to switch to a specific existing buffer. Here's how:\n\n```bash\n:enew    # open a new empty buffer\n:bd#     # delete the alternate buffer (which is what your old buffer becomes after you :enew)\n```\n\n### what is good evening in spanish\n\nThe phrase \"Good evening\" translates to \"Buenas noches\" in Spanish.\n\n### whats the name of the god in dragon ball z that loves to eat and has the ability to destroy planets\n\nThe character you're referring to is Beerus, the God of Destruction in \"Dragon Ball Z: Battle of Gods\" and \"Dragon Ball Super\". He's known for his immense power, capable of destroying planets, as well as his love for food.\n\n### is it good to have mac as a passthrough charger\n\nYes, you can safely use your Mac as a pass-through charger. Apple's modern Mac computers, particularly those with USB-C ports, are designed to handle pass-through power without any issues.\n\nYou can connect your device (like an iPhone or iPad) to your Mac's USB or USB-C port to charge it. If your Mac is plugged into a power source, it will charge the device while maintaining its own battery level. If your Mac is not plugged into a power source, it may drain its battery to provide power to the device.\n\nHowever, this is not going to cause any damage to your MacBook. The power management system is clever enough to cut off power to other devices when the MacBook's battery gets too low. Additionally, it won’t strain the Mac’s power supply because the power for charging a connected device comes directly from the charger, not from the MacBook's battery.\n\nAs a note, the charging speed may be slower since USB ports on Macs typically don't supply as much power as a dedicated wall charger.\n\n### User\n### so i have an table called EntityTag, and its children EntityTagging, i want to write a query that would give me the count of entries where the entitytag's active_entity_tagging_counts column is not the same as its active count of the children EntityTagging as well as the count for both entities and updated_at, ordered by the most recent updated_at of entity_tagging\n\nYou'll require a SQL query using the JOIN statement to compare columns of two different tables. Here is a sample query based on your requirements:\n\n```sql\nSELECT\n  EntityTag.id AS entity_id,\n  EntityTag.active_entity_tagging_counts AS active_entity_tagging_counts,\n  COUNT(EntityTagging.entity_tag_id) AS actual_tag_count,\n  MAX(EntityTagging.updated_at) AS most_recent_update\nFROM EntityTag\nLEFT JOIN EntityTagging ON EntityTagging.entity_tag_id = EntityTag.id\nWHERE EntityTagging.active = true\nGROUP BY EntityTag.id\nHAVING COUNT(EntityTagging.entity_tag_id) <> EntityTag.active_entity_tagging_counts\nORDER BY most_recent_update DESC;\n```\n\nPlease replace the column names and table names with your actual column and table names if they are different.\n\nThis query will return the entity ID, the count of active taggings as stored in the EntityTag table, the actual active count of associated EntityTaggings, and the most recent `updated_at` date among associated active taggings.\n\nThe results are filtered to include only those entities for which the stored count and actual count differ, and are ordered by the most recent associated tagging `updated_at` date in descending order.\n\nPlease be aware this is just an example. The actual query can differ based on your exact schema and SQL dialect.\n\n### this is not correct\n\nI'm sorry for the confusion. It appears there has been a misunderstanding of your database schema and requirements. Could you please provide additional details? Here are a few questions that would help create a better query:\n\n- What are the exact column names in your `EntityTag` and `EntityTagging` tables that need to be compared for equality (or lack of it)?\n- You mentioned \"active count of the children EntityTagging\". Can you confirm if this count is represented within a single column in the 'EntityTag' or 'EntityTagging' table? Or does it need to be calculated, and if so, how?\n- What is the exact relation between the `EntityTag` and `EntityTagging` tables? Is there a foreign key in `EntityTagging` pointing to `EntityTag`?\n\nThe more specifics you provide, the better I can help you formulate your SQL query.\n\n### your assumptions are correct, however im getting entityTag.active_entity_tagging_counts must appear in the group by\n\nMy apologies for the confusion. Some DBMS like PostgreSQL require all selected fields that aren't being aggregated to appear in the GROUP BY clause.\n\nYou can try the following query:\n\n```sql\nSELECT\n  EntityTag.id AS entity_id,\n  EntityTag.active_entity_tagging_counts AS active_entity_tagging_counts,\n  COUNT(EntityTagging.entity_tag_id) AS actual_tag_count,\n  MAX(EntityTagging.updated_at) AS most_recent_update\nFROM \n  EntityTag\nLEFT JOIN\n  EntityTagging \nON \n  EntityTagging.entity_tag_id = EntityTag.id\nWHERE \n  EntityTagging.active = true\nGROUP BY \n  EntityTag.id, EntityTag.active_entity_tagging_counts\nHAVING \n  COUNT(EntityTagging.entity_tag_id) <> EntityTag.active_entity_tagging_counts\nORDER BY \n  most_recent_update DESC;\n```\n\nThis version of the SQL query includes `EntityTag.active_entity_tagging_counts` in the `GROUP BY` clause, which should avoid the error you were encountering. This will group the results not only by `EntityTag.id`, but also by each distinct `active_entity_tagging_counts` value.\n\nRemember to replace `EntityTag`, `EntityTagging`, `active_entity_tagging_counts`, `updated_at`, `id`, `entity_tag_id` and `active` with your correct table and column names if they are different.\n\n### what is the -g in npm install\n\nThe `-g` flag in `npm install -g` stands for \"global\". When you install a package with this flag, it means the package is installed globally on your system.\n\nA globally installed package can be accessed from anywhere on your system, not just the directory you're currently in. It's commonly used for packages that provide command line tools that you want to be able to access from any location, such as Grunt, Gulp, or create-react-app.\n\nFor example, `npm install -g create-react-app` will install the `create-react-app` package globally, allowing you to use the `create-react-app` command in any directory on your system to create a new React application.\n\nWithout the `-g` flag, `npm install` will install the package only in the current directory under the `node_modules` folder, and it will only be accessible from scripts running in that directory. This is known as a local installation.\n\n### how do i git blame a range in a file\n\nYou can use the `git blame` command along with a revision range to see who last edited certain lines in a specified file over a specific range of commits.\n\nFor instance, if you wanted to see who modified lines in a file between two specified commits, you would use the following command:\n\n```sh\ngit blame COMMIT1..COMMIT2 -- filename\n```\n\nHere, `COMMIT1..COMMIT2` is your commit range (hashes or references), and `filename` is the file you want to investigate.\n\nPlease note that `COMMIT1..COMMIT2` will show the difference between the end of the range and its start. That means it will include all changes made in `COMMIT2` since `COMMIT1`.\n\nFor instance, if you have two commits `a1b2c3d` and `e4f5g6h`, you can blame changes to a file \"myfile.txt\" in that range as follows:\n\n```sh\ngit blame a1b2c3d..e4f5g6h -- myfile.txt\n```\n\nThis will show who last changed each line in \"myfile.txt\" over the selected commit range.\n\n### i meant a code block, a range with in the file\n\nTo investigate a specific line range within a file, you can also do that with git blame. Here's how you can combine git blame with a line range:\n\n```bash\ngit blame -L startLine,endLine filename\n```\n\nYou replace `startLine` and `endLine` with your specific lines of interest.\n\nFor example, if you want to inspect lines 50 through 100 in a file named `index.js`, you would use the command:\n\n```bash\ngit blame -L 50,100 index.js\n```\n\nThis command will show you who last modified each line in that specific range within `index.js`. Note that all lines in your file are 1-indexed (i.e., count starts from 1).\n\n### where do i set the secrets for github action\n\nYou can set secrets for your GitHub Actions workflows in your repository's settings. Follow these steps:\n\n1. Navigate to your GitHub repository in your web browser.\n2. Click on the \"Settings\" tab (note you have to be an owner or have admin rights to see this tab).\n3. Click on \"Secrets\" in the left sidebar.\n4. Click on \"New Repository Secret\" button.\n5. Enter a name for the secret. This is the name you will use to access the secret in your GitHub Actions workflow file.\n6. Enter the value for the secret.\n7. Click \"Add secret\" to save it.\n\nYou can now refer to this secret in your GitHub Actions workflows using the `secrets` context. For example, if you added a secret with the name `MY_SECRET`, you could refer to the secret in your workflow file (`.github/workflows/workflow.yml`) like so:\n\n```yaml\nsteps:\n  - name: Example step\n    env:\n      MY_SECRET_ENV_VAR: ${{ secrets.MY_SECRET }}\n    run: echo \"The secret is $MY_SECRET_ENV_VAR\"\n```\n\nThis would print the secret to the console, which is generally a bad practice. Just remember, your secrets are masked in the log output of GitHub Actions, so they will not be exposed. In the example provided, \"***\" will be printed to the console instead of the actual secret value.\n\n### can you put this into a table of contents for me, they are all of the same heading [How to get started?](#how-to-get-started)\n### [Daily dev commands](#daily-dev-commands)\n### [Localization](#localization)\n### [Pre-commit hooks](#pre-commit-hooks)\n### [Migration](#migrations)\n### [Testing](#testing)\n### [Dependency management](#dependency-management)\n### [Port assignments](#port-assignments)\n### [TODO linting](#todo-linting)\n### \n\nAbsolutely, you can use the following format to create a table of contents from the headings you provided.\n\n## Table of Contents\n- [How to get started?](#how-to-get-started)\n- [Daily dev commands](#daily-dev-commands)\n- [Localization](#localization)\n- [Pre-commit hooks](#pre-commit-hooks)\n- [Migration](#migrations)\n- [Testing](#testing)\n- [Dependency management](#dependency-management)\n- [Port assignments](#port-assignments)\n- [TODO linting](#todo-linting)\n\nWhen placed at the top of your README or other Markdown document, this table of contents will allow users to click on an item to quickly navigate to the relevant section of the document.\n\n### ctrl-b and ctrl-f in vim\n\nIn Vim, `Ctrl-b` and `Ctrl-f` are related to navigating through pages of the document.\n\n- `Ctrl-b` stands for \"back\", it's used to move the view one full screen backward (upward) in your open file. The cursor position is not changed unless it went off of the screen, in which case it will try to stick to the same column but appear on the last row of the screen. Note that `Ctrl-b` works in normal, visual and command-line modes.\n\n- `Ctrl-f` stands for \"forward\", it's used to scroll the window view one full page forward (downward) in your open file. Just like with `Ctrl-b`, the cursor position will remain the same unless it goes off of the screen due the page down action. If this happens, it will be moved to the first character on the top line on the screen. The `Ctrl-f` command also works in normal, visual and command-line mode.\n\nThese key bindings in Vim are similar to the page up and page down keys in other text editors. Remember, these commands scroll roughly by the number of lines that your window is tall. If you have a two-line window, you'll only scroll two lines with Ctrl-b/f. If you have a 60-line window, you'll scroll by about 60 lines (actually a bit fewer, to provide some overlap).\n\n### Error response from daemon: network aefd74b2c3a7576d493888a9ef8d9a4ee45c1dffb0a869c35367ed93cee5299b not found\n\nThis error occurs when Docker can't find the specified network. Here are a few potential solutions.\n\n1. **Remove the network directly**. If the network is no longer needed, you can try removing it. Check your network list with:\n```shell\ndocker network ls\n```\nAnd then try to remove the network.\n```shell\ndocker network rm <NETWORK_ID/NAME>\n```\n\n2. **Stop the containers using the network**. If there are any containers still using this network, you will need to stop and remove those containers.\n\n```shell\ndocker ps -a\ndocker stop <CONTAINER_ID/NAME>\ndocker rm <CONTAINER_ID/NAME>\n```\nReplace `<CONTAINER_ID/NAME>` with the actual IDs or names of the containers from your output of the `docker ps -a` command.\n\n3. **Restart Docker**. Sometimes, the problem can also stem from Docker's internal issues, and a restart of Docker could resolve the problem.\n\n\n4.**Prune networks**. Use the following command prune to remove all unused networks.\n\n```shell\ndocker network prune\n```\nBe careful with this command: Apart from the network which causes the problem, Docker will remove all networks not used by at least one container.\n\nRemember to replace `<NETWORK_ID>` and `<CONTAINER_ID>` with your actual network and container IDs. It's also important that you understand that these commands will delete your network and containers, which may contain data you may want to keep.\n\n### i have a few lines of code that i put in .zshrc, i want it to be put in another file, do i just source that file in the original .zshrc?\n\nYes, you can move those lines of code into another file and then `source` that file in your `.zshrc`.\n\nHere are the steps:\n\n1. Move the code lines to another file. Let's call this file `extra_config.zsh`. You can create and place this file wherever you like, but a common place would be the home directory `~` or within a sub-directory in the home directory.\n\n2. Open your `.zshrc` file with a text editor from the terminal:\n\n    ```bash\n    vim ~/.zshrc\n    ```\n\n    (Substitute `vim` with your preferred text editor, like `nano` or `emacs`.)\n\n3. Insert a line to source your `extra_config.zsh` file by providing the full path. Here's an example:\n\n    ```bash\n    source ~/extra_config.zsh\n    ```\n\n4. Save and exit. The changes will take effect in your new terminal sessions.\n\nRemember: Paths beginning with `~/` refer to your home directory. If your `extra_config.zsh` file is located elsewhere, you should adjust the path accordingly.\n\n### how to create a revert commit\n\nIf you want to undo a commit that was already pushed, you can use `git revert`.\n\nHere's how you can do it:\n\n1. Find the commit hash you want to revert. You can view the commit log by using the `git log` command. This will show you a history of all commits, from newest to oldest.\n\n2. Once you have identified the commit you want to revert (it will be a string of numbers and letters like `a1b2c3d4e5f`), you can create a revert commit by using the `git revert` command followed by the commit hash.\n\n```bash\ngit revert a1b2c3d4e5f\n```\n\n3. This will open your configured text editor in the terminal and prompt you to enter a new commit message for this revert. Save and exit your text editor to complete the revert commit.\n\n4. Finally, push your changes to the repository:\n\n```bash\ngit push origin main\n```\n\nReplace \"main\" with the branch name you want to push to, if it's not the main branch.\n\nThis will create and push a new commit that undoes the changes made in the specified commit. Note that this doesn't delete any commits or history, making it a safe operation to perform even on commits that have already been pushed.\n\n### how about a revert on a merge\n\nIf you want to undo a merge commit, you can do this by using the `git revert` command along with the `-m` option. The `-m` option specifies the parent number. \n\nHere's how to do it:\n\n1. Find the commit hash of the merge commit you want to revert. You can use `git log` to view the commit history.\n\n2. Execute `git revert -m 1 commit_hash`, replacing 'commit_hash' with the hash of the merge commit you want to revert.\n\nThe `1` in `-m 1` specifies the first parent of the merge, usually the branch you were on when you performed the merge. If you want to keep the changes from the other branch and remove the changes from your branch, you could specify the other parent with `-m 2`.\n\nFor example, if `abc123` is the commit hash of the merge commit:\n\n```bash\ngit revert -m 1 abc123\n```\n\n3. You will be prompted to enter a commit message for the revert commit in your text editor. After saving and closing the file, the revert commit will be created.\n\n4. Finally, push your changes to the repository:\n\n```bash\ngit push origin main\n```\n\nAgain, replace \"main\" with the branch you want to push to if it's not the main branch. \n\nNote that this will only reverse the changes introduced by the merge commit, not the entire history of the branch that was merged. If you want to completely remove a merged branch from your git history, you might have to look into more advanced techniques such as `git rebase` or `git reset`.\n\n### how can i modify the payload of railssemantic logger\n\nIf you'd like to modify the payload of your logs with Semantic Logger for Rails, you can accomplish that by using custom formatters or by modifying the payload in a Semantic Logger Appender. \n\nFormatters handle creating the output for each log entry in Semantic Logger. By creating your own custom formatter and specifying it in the configuration, you can control how logs are formatted and what information they contain.\n\nHere's an example of a custom formatter:\n\n```ruby\nclass MyCustomFormatter < SemanticLogger::Formatters::Default\n  def call(log, logger)\n    # Call the default formatter to create a Hash of the data we will log\n    log_structure = super\n\n    # Modify the payload here\n    log_structure[:payload][:extra_info] = \"my_extra_info\"\n\n    # Return a JSON formatted log entry\n    log_structure.to_json + \"\\n\"\n  end\nend\n```\n\nYou can add this class somewhere in your Rails application (like in `config/initializers` folder) and use it in your Semantic Logger configuration:\n\n```ruby\nconfig.rails_semantic_logger.format = MyCustomFormatter.new\n```\n\nPlease note this example modifies the payload of all logged entries. Be sure to check `log` and `logger` or any other variable if you only want to modify the payload in certain scenarios to ensure the correct data is being modified.\n\nRemember to adjust the actual modification of the payload (`log_structure[:payload][:extra_info] = \"my_extra_info\"`) according to your needs.\n\n### i need something that can get the active record sql\n\nTo capture SQL statements made by ActiveRecord when Semantic Logger is in use, you can create a LogSubscriber. LogSubscriber is a class in Rails that's used for collecting instrumentation events.\n\nBelow is an example of a LogSubscriber that logs SQL queries:\n\n```ruby\nrequire 'active_support/log_subscriber'\n\nclass QueryLogger < ActiveSupport::LogSubscriber\n  def sql(event)\n    # Avoid logging schema loading (such as `structure.sql`)\n    return if event.payload[:name] == 'SCHEMA'\n\n    # Build a structured hash. Semantic Logger will take care of logging it correctly.\n    log_info = {\n      name: event.payload[:name],\n      duration: event.duration,\n      statement: event.payload[:sql]\n    }\n\n    # Use Semantic Logger to log the information\n    SemanticLogger['QueryLogger'].info(**log_info)\n  end\nend\n\n# Attach this new LogSubscriber to ActiveRecord\nQueryLogger.attach_to :active_record\n```\n\nThis LogSubscriber logs all SQL queries executed by ActiveRecord (except for schema loading operations, which tend to be noisy). The logs use the INFO level and output structured entries (as long as your logger is configured to produce structured log entries).\n\nYou can add this code in an initializer file (like `config/initializers/query_logger.rb`) in your Rails application.\n\nRemember to adjust the `log_info` hash and logger name (`QueryLogger`) according to your needs.\n\n### can you have multiple of this file? or only one, i have one existing querylogger\n\nYou can certainly have multiple LogSubscribers in a Rails application. If you want to create another LogSubscriber, you can follow the same steps with a different class name.\n\nFor instance, if you have an existing `QueryLogger`, you may create another logger called `QueryLogger2` (or any other descriptive name).\n\n```ruby\nclass QueryLogger2 < ActiveSupport::LogSubscriber\n  def sql(event)\n    # Your logging code\n  end\nend\n\nQueryLogger2.attach_to :active_record\n```\n\nGenerally speaking, it might be a good idea to have just one subscriber for each type of instrumentation event (in this case, SQL events from Active Record). If you want to log different kinds of information from these events, you can differentiate within a single `sql` method based on the `event` or other conditions.\n\nRemember to put this in a new initializer or add it to an existing one. Then, remember to restart your Rails server so that the new initializer is picked up.\n\n### when you attach mulitiple, they all work?\n\nYes, if you attach multiple LogSubscribers to the same component in Rails (such as `:active_record`), they all get triggered when the corresponding events occur.\n\nEach LogSubscriber gets called independently of the others when an event happens. The LogSubscriber's methods that match the event get called with the event data. So if you have multiple LogSubscribers, each with an `sql` method attached to `:active_record`, each of those `sql` methods gets called when an SQL event occurs in ActiveRecord.\n\nThis can be useful if you want to log different aspects of the same events, but remember that it also can increase the overhead of event logging. It can slow down your application if your logging operations are computationally expensive, or if you have a large number of LogSubscribers.\n\nSo, it is highly recommended to keep your logging code efficient, especially in a high-traffic production application.\n\n### whats the point of using the :reject option in sidekiq unique jobs to send duplicate to the dead set as opposed to just let it fail silently?\n\n[Answer Interrupted]\n\n### how\n\n[Answer Interrupted]\n\n### how\n\n"}
[09:25:46.190] ChatGPT / DALL-E[Text View] Running with argument 'how'
[09:25:46.322] ChatGPT / DALL-E[Text View] Script with argv 'how' finished
[09:25:46.328] ChatGPT / DALL-E[Text View] {"rerun":0.1,"variables":{"streaming_now":true},"response":"…","behaviour":{"response":"append"}}
[09:25:46.432] ChatGPT / DALL-E[Text View] Running with argument 'how'
[09:25:46.645] ChatGPT / DALL-E[Text View] Script with argv 'how' finished
[09:25:46.654] ChatGPT / DALL-E[Text View] {"response":"[This model's maximum context length is 8192 tokens. However, your messages resulted in 8215 tokens. Please reduce the length of the messages.]  \n(Thu, 18 Apr 2024 16:25:46 GMT)","behaviour":{"response":"replacelast"}}

More details
I really like the simplicity of this workflow, however, its been burning a whole in my pocket. I
{"response":"[This model's maximum context length is 8192 tokens. However, your messages resulted in 8215 tokens. Please reduce the length of the messages.]  \n(Thu, 18 Apr 2024 16:25:46 GMT)","behaviour":{"response":"replacelast"}}

I think there might be a problem with the whole chat history being sent to gpt each time when using continue chat, which is what I do all the time. I have only done 3 simple gpt questions today, only about at best 200 words for answers + question. But i have already spent a dollar today using GPT4.
My last message only contains a how, and i was told that im over the limit

I think there might be a problem with the whole chat history being sent to gpt each time when using continue chat

That’s how the API works. You have to send it the conversation so it can keep context.
There is a hard limit set in the workflow which could maybe be brought down. I’ll have a think about it.
But if you’re asking a question for which you no longer need the previous context, you should start a new chat with ⌘↩.

I’m playing with it a bit. This version allows you to customise how much context to send.

@vitorgalvao im sorry if I just plainly ignored how the API works, as I never got to examined it. I also use some neovim gpt plugins that seems to cost me less even with a lot more context(using the same 1 page method). I could be wrong. I have always just used their website, and i never start a new context. Thanks for the answer

repo: alfredapp/openai-workflow


text:
Can't compile v4l2_codec

Hi,
I'm on a RPI 2 with raspbian jessie. It's like a debian 8.0 jessie.
I succeed building baresip with most modules, but can't build v4l2_codec.
What are needeed packages for building it ?
PS: baresip is really well done, it's easy to setup and easy to use. Thank you for your work.

can you try this:
$ make EXTRA_MODULES=v4l2_codec

First thank you for your quick answer, it's working. A v4l2_codec.so is produce.
For your information, don't know if it's normal, but after doing a make "EXTRA_MODULES=v4l2_codec" and make install. the module isn't copy to the usr lib directory.
I've got a problem using baresip with v4l2_decode, Do you want me opening another issue or we can continu here ?

can you please post the full debug log output (baresip -v) here ?

Hi,
Sorry for my late answer, I wasn't home.
Here is the results of the command baresip -v:
baresip v0.4.18 Copyright (C) 2010 - 2016 Alfred E. Heggestad et al. Binding to interface 'eth0' net: eth0: could not get IPv6 address (No such device) Local network address:  IPv4=eth0:10.10.1.62 ui: stdio cons: UI console listening on 0.0.0.0:5555 ui: cons evdev: device name: C-Media Electronics Inc. USB Audio Device Supported event types:   Event type 0x00  (Unknown event type: 0x0000)   Event type 0x01  (Keys or Buttons)   Event type 0x04  (Something miscellaneous) Supported Keys:   Key  0x71  (Mute)   Key  0x72  (Volume Down)   Key  0x73  (Volume Up) Supported LEDs: ui: evdev ui: http httpd: listening on 0.0.0.0:8888 aucodec: opus/48000/2 aucodec: PCMU/8000/1 aucodec: PCMA/8000/1 aufilt: vumeter ausrc: alsa auplay: alsa v4l2_codec inited vidcodec: H264 vidsrc: v4l2_codec avcodec: x264 build 142 vidcodec: H264 vidcodec: H263 vidcodec: MP4V-ES vidcodec: VP8 vidsrc: v4l2 medianat: stun medianat: turn medianat: ice Populated 1 account Populated 3 contacts Populated 3 audio codecs Populated 1 audio filter Populated 5 video codecs Populated 0 video filters baresip is ready. 1000@10.10.1.62: {0/TLS/v4} 200 OK () [1 binding] All 1 useragent registered successfully! (148 ms)

After a vidéo call with linephone:
sip:1000@10.10.1.62: Incoming call from: Gilles sip:1001@10.10.1.62 - (press ENTER to accept)
alsa: reset: srate=8000, ch=1, num_frames=320, pcmfmt=S16_LE
alsa: playback started (default)
sip:1000@10.10.1.62: Answering incoming call
alsa: stopping playback thread (default)
answering call from sip:1001@10.10.1.62 with 200
audio: Set audio decoder: PCMU 8000Hz 1ch
alsa: reset: srate=8000, ch=1, num_frames=160, pcmfmt=S16_LE
alsa: playback started (default)
audio: Set audio encoder: PCMU 8000Hz 1ch
alsa: reset: srate=8000, ch=1, num_frames=160, pcmfmt=S16_LE
alsa: recording started (default)
audio tx pipeline:        alsa ---> vumeter ---> PCMU
audio rx pipeline:        alsa <--- vumeter <--- PCMU
Set video encoder: H264 packetization-mode=0 (500000 bit/s, 25 fps)
v4l2_codec: video encoder H264: 25 fps, 500000 bit/s, pktsize=1024
video: vidcodec 'H264' has no decoder
Set video decoder: H264 packetization-mode=0
avcodec: video decoder H264 ()
video: could not set vidisp '': No such file or directory
v4l2_codec: video-source alloc (device=/dev/video0)
v4l2_codec: opening video-encoder device (device=/dev/video0)
v4l2_codec: Driver Caps:
Driver:        "bm2835 mmal"
Card:          "mmal service 16.1"
Bus:           "platform:bcm2835-v4l2"
Version:       4.0
Capabilities:  0x85200005
FMT : CE Desc
 YU12:    'Planar YUV 4:2:0'
 YUYV:    'YUYV 4:2:2'
 RGB3:    '24-bit RGB 8-8-8'
 JPEG: C  'JFIF JPEG'

H264: C  'H.264'
MJPG: C  'Motion-JPEG'
YVYU:    'YVYU 4:2:2'
VYUY:    'VYUY 4:2:2'
UYVY:    'UYVY 4:2:2'
NV12:    'Y/CbCr 4:2:0'
BGR3:    '24-bit BGR 8-8-8'
YV12:    'Planar YVU 4:2:0'
NV21:    'Y/CrCb 4:2:0'
BGR4:    '32-bit BGRA/X 8-8-8-8'

v4l2_codec: Selected Camera Mode:
Width:   352
Height:  288
PixFmt:  H264
Field:   1
video tx pipeline: v4l2_codec ---> H264
video rx pipeline:       disp <--- H264
1000@10.10.1.62: Call established: sip:1001@10.10.1.62
main: long async blocking: 469>100 ms (h=0x76eea4cc arg=0x10d1be0)
[0:00:00] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:00] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:00] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:00] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:01] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:02] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:03] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:03] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           [0:00:03] audio=0/0 video=0/0 (bit/s) efps=0/0              [                ]  [           call: terminate call 'c5eb165a-811c-1234-999c-b827eb7b3d70' with sip:1001@10.10.1.62
alsa: stopping recording thread (default)
alsa: stopping playback thread (default)
v4l2_codec: encoder stats (keyframes:1, deltaframes:0)
sip:1000-0x10df6a8@10.10.1.62:35236: Call with sip:1001@10.10.1.62 terminated (duration: 4 secs)
main: long async blocking: 1035>100 ms (h=0x769f2a28 arg=0x10d3f10)

many thanks for the debug logs.
Can you please tell me what is the problem?
the only thing I could see from the log was very few video frames coming
from your device:
v4l2_codec: encoder stats (keyframes:1, deltaframes:0)

You're welcome for the log.
The problem is no video is send through baresip to another soft-phone.
I make some tests with linphone and antisip and it's the same result with h264 v4l2_codec.
What I see is like you: no frame send from baresip to soft-phone.
Another test with baresip and linphone on android:

main: long async blocking: 495>100 ms (h=0x76ebd4cc arg=0xfe3be0)
[h264 @ 0xffb420] no frame!/0 (bit/s) efps=0/0              [                ]  [                ]
video: H264 decode error (seq=55171, 3 bytes): Bad message
call: terminate call '9942afad-84d4-1234-999c-b827eb7b3d70' with sip:1001@10.10.1.62             ]
alsa: stopping recording thread (default)
alsa: stopping playback thread (default)
v4l2_codec: encoder stats (keyframes:1, deltaframes:0)
sip:1000-0xff07e0@10.10.1.62:41141: Call with sip:1001@10.10.1.62 terminated (duration: 32 secs)
main: long async blocking: 1062>100 ms (h=0x769c5a28 arg=0xfe5f10)

What is the last line for you ?
For more information in my messages log in raspberry pi 2, I have "bcm2835-v4l2: error 0 waiting for frame completion" when a video conversation is ended.
The pi camera is functionnal as I can us it with baresip without v4l2_codec but it's to laggy.
An example with antisip and baresip.
If I make a call from baresip to antisip with avcodec, it's working but too slow.

avcodec: x264 picture update                                [                ]  [===             ]
avcodec: x264 picture update0 (bit/s) efps=0/0              [                ]  [                ]
avcodec: x264 picture update0 (bit/s) efps=0/0              [                ]  [                ]
avcodec: x264 picture update0 (bit/s) efps=0/0              [                ]  [                ]
avcodec: x264 picture update0 (bit/s) efps=0/0              [                ]  [                ]
avcodec: x264 picture updatevideo=139994/0 (bit/s) efps=0/0 [                ]  [                ]
avcodec: x264 picture updatevideo=139994/0 (bit/s) efps=0/0 [                ]  [                ]
avcodec: x264 picture updatevideo=139994/0 (bit/s) efps=38/ [                ]  [                ]
avcodec: x264 picture update                                                    [                ]
avcodec: x264 picture updatevideo=61832/0 (bit/s) efps=38/0 [                ]  [                ]
avcodec: unknown NAL type 24video=61832/0 (bit/s) efps=38/0 [                ]  [                ]
video: H264 decode error (seq=14531, 20 bytes): Bad message
avcodec: unknown NAL type 24
video: H264 decode error (seq=14532, 20 bytes): Bad message
avcodec: x264 picture updatevideo=61832/0 (bit/s) efps=38/0 [                ]  [                ]
avcodec: unknown NAL type 24video=61832/0 (bit/s) efps=38/0 [                ]  [                ]
video: H264 decode error (seq=14611, 20 bytes): Bad message
avcodec: unknown NAL type 24
video: H264 decode error (seq=14612, 20 bytes): Bad message
avcodec: x264 picture updatevideo=61832/0 (bit/s) efps=38/0 [                ]  [                ]
avcodec: unknown NAL type 24video=61832/0 (bit/s) efps=38/0 [                ]  [                ]
video: H264 decode error (seq=14691, 20 bytes): Bad message
avcodec: unknown NAL type 24
video: H264 decode error (seq=14692, 20 bytes): Bad message
avcodec: x264 picture updatevideo=49922/0 (bit/s) efps=38/0 [                ]  [                ]
avcodec: x264 picture updatevideo=49922/0 (bit/s) efps=38/0
avcodec: unknown NAL type 24video=49922/0 (bit/s) efps=38/0 [                ]  [                ]
video: H264 decode error (seq=14781, 20 bytes): Bad message
avcodec: unknown NAL type 24
video: H264 decode error (seq=14782, 20 bytes): Bad message
sip:1001@10.10.1.62;transport=udp: session closed: Connection reset by peer  ]  [                ]
alsa: stopping recording thread (default)
alsa: stopping playback thread (default)
sip:1000@10.10.1.62: Call with sip:1001@10.10.1.62;transport=udp terminated (duration: 11 secs)
main: long async blocking: 103>100 ms (h=0x76ec74cc arg=0xb16be0)

If I call from antisip to baresip I can see the  video is send to baresip but baresip don't recive any video. This problem is not important for the moment as I want to make a video call from baresip.

Could you try with x11 module loaded?

It's an headless machine, X11 is really needed ?

If you install client libraries, you may use X11 server on another machine.
From your logs it seems that only 1 frame is read from device. I did not dig deep into the video code, but I guess it may have something to do with output. Do you have video_selfview in your ~/.baresip/config? Can you post the config?

can you try to record raw H.264 frames using ffmpeg:
$ ffmpeg -f v4l2 -input_format h264 -standard pal-b -s 704x576 -i /dev/video0 -vcodec copy -loglevel debug test.mp4

if this does not work, then it will not work with baresip either ..

I am closing this issue for now .. If you want to continue the debugging, then please
make sure that your device is working properly first and feel free to open a new Issue ..

source: gharchive/issue

authors: Gilles76 alfredh czarkoff

repo: alfredh/baresip

license_type: permissive

license_source: github-api


text:
How to anticipate breaking changes ?

Hello,
I've found an issue while deploying algoliasearch.js 3.13.1 on jquery 2.2.3.
This old code doesn't work any longer :
var client = $.algolia.Client(btw_algolia_application_id, btw_algolia_api_key);
var index = client.initIndex(btw_algolia_index1);
index.search($inputfield.val(), {hitsPerPage: 5})
.done(searchCallback)
.fail(function (content) {
console.log('Error', content);
});
Solved by the following code :
var btw_algolia_client = algoliasearch(btw_algolia_application_id, btw_algolia_api_key);
var btw_algolia_index = btw_algolia_client.initIndex(btw_algolia_index1);
btw_algolia_index.search($inputfield.val(), {hitsPerPage: 5})
.then(searchCallback, function searchFailure(err) {
console.log('Error', err);
});
That's not impossible that i miss this breaking change, and i apologize if it's the case.
Else, in the future, is there an exhaustive changelog somewhere, to anticipate this kind of problems (which took me 30 minutes to solve instead of 30 seconds ?)
Thanks
(And your tools remains amazing !)
Best regards,
Vincent GUESNARD

Thanks for reporting this.
So the only thing in your environement that changed and triggered a bug is that you upgraded algoliasearch to v3.13.1?

I just did a test on jsfiddle with the latest jquery v2 and algoliasearch: it works. Maybe have a look and let me know: https://jsfiddle.net/9kejrgcj/

I've upgraded algoliasearch to 3.13.1, and JQuery, from 2.2.0 to 2.2.3

It throwns : Uncaught TypeError: Cannot read property 'Client' of undefined on this decleration :
var client = $.algolia.Client(btw_algolia_application_id, btw_algolia_api_key);

So i update to :
var client = algoliasearch(btw_algolia_application_id, btw_algolia_api_key);

it throwns : Uncaught TypeError: index.search(...).done is not a function on this decleration :

index.search($inputfield.val(), {hitsPerPage: 5})
.done(searchCallback)
.fail(function (content) {
console.log('Error', content);
});
Seems that .done() and .fail() functions are no longer supported.
If it helps.
My problem is solved, my question was only about anticipating this in the futur.

My problem is solved, my question was only about anticipating this in the futur.

Can you have a look at my jsfiddle? https://jsfiddle.net/9kejrgcj/ It's the same code as you and it's working so maybe there's something different in your setup?

You need to use https://cdn.jsdelivr.net/algoliasearch/3/algoliasearch.jquery.min.js that's very important maybe you inserted https://cdn.jsdelivr.net/algoliasearch/3.13.1/algoliasearch.min.js which is not the jquery build?

Ok here is my mistake ! Seems that i need to sleep better next night ^^
Sorry about this wasting time.

Great that we solved this quickly! happy coding :)

And sleepling :sleeping:

Thank you very much, your help, as always, was flawless :)

authors: vincent-guesnard vvo

repo: algolia/algoliasearch-client-js

license: mit

license_source: bigquery


text:
feat(hits): implement getWidgetRenderState

This implements the getWidgetRenderState widget lifecycle hook in hits.

Are you going to implement getRenderState in a separate PR?
If not, please check this for example: https://github.com/algolia/instantsearch.js/pull/4518/files#diff-87f24c931e875f242d763837383e9251R136
I've implemented both getRenderState and getWidgetRenderState in some connectors :)

I don't know if we decided on this yet, but I was more thinking about doing getRenderState in another PR.

As discussed together, I added the getRenderState method in this PR. I also changed the base branch to feat/improve-panel.

source: gharchive/pull-request

authors: eunjae-lee yannickcr

license: MIT


text:
Add titles to widgets' images on examples page

Unless you are familiar with the icons of each widget, the current images are hard to understand. I added the title so you at least get a tooltip - making it easier to find the widget in the doc afterwards.
Also, I'm not really sure about the syntax and didn't want to deploy everything to test, so tell me if I should make some changes.

@LucasC Nice, can you use the same wording from the actual widgets of the documentation (left menu) https://community.algolia.com/instantsearch.js/documentation/
So that we do not use different naming scheme for widgets.
Thanks.

If you want to make the update a breeze:

name your commit docs(examples): add titles on widget icons (do changes, then git commit -a --amend)
submit PR to master branch
once we merge on master, website will be updated automatically in minutes

Need to explain some git easy contribution flow soon so that it's easier to contribute here for more people

authors: LucasC vvo


text:
docs(examples): support demo config

This adds a demo configuration to change credentials and attributes based on .env. We need this to iterate on private indices.
We still default the demo config for CodeSandbox usage.
From now on, you can add a .env file at the monorepo root and change the demo credentials.

Closing this PR because we don't need this anymore.

repo: algolia/recommend


text:
chore: bumping algokit and algorand related dependencies

Proposed changes

Minor maintenance to bump algokit-utils to latest version supporting new algod error response format.

@daniel-makerx any chance you can approve as well, looks like Neil is not in the list of approvers. @Loedn can we also add Neil to list of approvers here?

repo: algorand-devrel/beaker


text:
[License] Update go-algorand-sdk and algod api to include voting data

Currently the function convertTrimmedLcAccountData in encoding.go can not fully convert to the baseAccountData struct because it is missing information required.  Currently, we are going to "shim" these values with default values until the proper sdk can be updated.  It is understood that some unit tests will fail while doing this.
This is for the conversion of idb/postgres/internal/writer/writer.go:AddBlock(block *sdk.Block, delta ledgercore.StateDelta) conversion.

It looks like the fields we were concerned about are VoteID and SelectionID.
Those fields are equivalent to VoteParticipationKey and SelectionParticipationKey in the SDK.

It looks like the fields we were concerned about are VoteID and SelectionID.
Those fields are equivalent to VoteParticipationKey and SelectionParticipationKey in the SDK.
I believe this is correct.

apiParticipation = &model.AccountParticipation{
			VoteParticipationKey:      record.VoteID[:],
			SelectionParticipationKey: record.SelectionID[:],
			VoteFirstValid:            uint64(record.VoteFirstValid),
			VoteLastValid:             uint64(record.VoteLastValid),
			VoteKeyDilution:           uint64(record.VoteKeyDilution),
}

https://github.com/algorand/go-algorand/blob/master/daemon/algod/api/server/v2/account.go#L70-L76

authors: AlgoStephenAkiki Eric-Warehime shiqizng

repo: algorand/indexer


text:
ARC-0000 : Definition and Guidelines of the ARC submission processes

Heavily borrowed from eip-1 with some edits and omissions.
Namely, I chose to remove the components that dealt with core protocol changes.
There are several comments with TODOs for things I'm not sure how we should deal with.
I welcome any and all comments on this pr.

I am thinking about moving ARC-0 to the status Living.
The main idea is to standardize the flow of Creating and following the life of an ARC.
One goal is to avoid having too many "Issues" in the repo.

(We have more issues in our repo than they have in the Ethereum one)
Requesters should debate ideas in the Discord #ARC Channel or the forum. Then if the idea has been vetted, they will make ARC submissions through a pull request.
I only want to use the issues section to discuss ARC with status Draft/Last Call/Living.

Then I want ARCs that pass requirements to obtain the status Draft and be merged into the repo. Even if they are far from the final status, it might incentivize more people to participate.
Only ARC editors will choose the ARC's number when merging in the repo to avoid random numbers.
Please give me your thought on this.

authors: SudoWeezy barnjamin

repo: algorandfoundation/ARCs


text:
Plotting chapter addition

This is a rough draft for a plotting chapter in the Algorithm Archive.
I have implemented everything in gnuplot; however, I should have allowed for other people to add in whatever plotter they want later (eg python, julia). In these cases, all the images should probably be regenerated in the plotter of choice.
As a note, this is the first step in an overhaul to the algorithm archive. Next up is domain coloring, followed by FFT's, then convolutions, and then everything else. There's a lot to do and I'm busy right now with my thesis, but I'm doing what I can.

It seems like data/scatterplot_data.dat is missing, as you try to import it at L539 of plotting.md.

Thanks for catching that! I'll fix it soon.

I am relatively happy with how this chapter reads; however, I have considered adding an addition section on format specifiers as described here. I decided not to put it in this release because it isn't really used in any of the AAA plots so far (I think).
Let me know if you think I should add it in!

Hey guys, I need this chapter for the next one... So I will probably merge it in tomorrow.

Sounds good, I just read over the chapter and everything looks fine to me.

authors: c252 dovisutu leios

repo: algorithm-archivists/algorithm-archive


text:
اضافه شدن قابلیت اوررایت یا تغییر ادرس یو آر ال های پیشفرض

در پروژه  گاهی این نیاز وجود دارد که برای هر قسمت از برنامه app های جداگانه ای ایجاد شود حال اگر بخواهیم از این کتابخانه در یکی از app های داخلی مانند اپ api و سپس داخل payment استفاده کنیم برنامه دچار اختلال شده و درست عمل نمیکند. (منظور داخل payment/urls.py )
یا گاهی لازم است که توابع go_to_bank_gateway یا callback_view داخلی را با توجه به نیاز پروژه overwrite شوند
با توجه به این نیازمندی ها با ایجاد تغییراتی اجازه تغییر مسیر اصلی این توابع به پروژه اضافه میشود تا کاربر با نیازی که احساس میکند توابع خاص خود را ایجاد کرده یا مسیر قرار گیری url ها را تنظیم نماید.

@MrMRM1
سلام و ادب.
اولا ممنون بابت زمانی که گذاشتید. چند نکته بنظر میرسه:
۱- بنظر این دو متغیر به هم وابسته هستند. در صورتی که کاربری یک متغیر رو ست کنه وضعیت دومی به چه شکل میشه و باعث بروز مشکل میشه.
۲- کاربر ممکنه فانکشنالیتی درونی بسته رو تغییر بده که منجر به عدم جامعیت میشه.
بنظر باید دنبال مسیری گشت که بشه اسکوپ اولیه رو ست کرد. به عنوان مثلا پرفیکس یا چیزی با این سبک.

@MrMRM1 سلام و وقت بخیر.
ابتدا بابت تاخیر عذر خواهی میکنم. مشکل شخصی داشتم که دسترسی من و محدود کرده بود.
در مورد نیم اسپیس یو آر ال موافقم ولی در مورد تفکیکش به ازای هر یو آر ال بنظر مشکلاتی رو میتونه بهمراه داشته باشه که بالاتر اشاره کردم.
در مورد شخصی سازی redirect_to_bank.html سوالی که برام پیش اومد این بود که چه شخصی سازی ای در این صفحه قرار هست انجام بگیره. چون شخصی سازی در این لول میتونه بریکینگ چین رو بهمراه داشته باشه. این نظر در مورد ویو هایی که صحبت شد هم صادق هست.
جمع بندی: در حال حاضر اگه موافق باشین، اگه تغییرات یو آر ال رو ببرید در لول اپلیکیشن من میتونم این مرج ریکوئست رو مرج کنم. (یا یک مرج ریکوئست جدا ایجاد کنید)
myapp:payment
پانوشت: اگه بنظرتون من نکات رو متوجه نشدم میتونیم با هم جلسه ای رو ست کنیم و صحبت کنیم. ایمیل من رو میتونید توی پروفایل گیت هاب پیدا کنید و باهم جلسه رو ست کنیم.

سلام وقت بخیر
خواهش میکنم
درمورد بریکینگ چین درست میگین ولی تنظیمات پیشفرض همون تنظیمات قبلی هست و تا کسی نیاز نداشته باشه تغییری داخل عملکرد کتابخونه حس نمیکنه، برای شخصی سازی  redirect_to_bank.html چون تابع go_to_bank_gateway مشکل امینتی داره مهاجم میتونه با استفاده از سایت ما کاربر رو گمراه کنه و به هر سایت و ادرسی که مدنظرش هست کاربر رو هدایت کنه
mysite.com/bankgateways/go-to-bank-gateway/?url=google.com
برای مثال کاربر با کلیک کردن روی این لینک که ادرس سایت مورد اعتمادش هست وارد گوگل میشه، این سایت میتونه هرسایتی باشه و حتی مهاجم میتونه متود درخواست رو هم تعیین کنه و این خطرناکه
برای رفع این مشکل ابتدا فکر میکردم با تغییر تابع go_to_bank_gateway و شخصی سازی میشه جلو این مشکل رو گرفت ولی خب پیچیدگی زیاد میشه برای همین متد جدیدی اضافه کردم IS_SAFE_GET_GATEWAY_PAYMENT که باعث میشه جلو این مشکل امنیتی گرفته بشه و توسعه دهنده توانایی اینو داشته باشه که هر تغییری در صفحه هدایت به بانک ایجاد کنه (تغییرات از نظر ظاهری یا هرچیز دیگه)
اگر با این توضیحات متوجه منظور من نشدید. خوشحال میشم جلسه ای داشته باشیم تا از تجربیات شما استفاده کنم.

@MrMRM1
به درستی مورد رو اشاره کردید.
چطور میتونیم این مورد رو داخل پکیج حل کنیم؟ بدون اینکه یه سری پیاده سازی رو بندازیم سمت کاربر؟
چون الان اتفاقی که میفته صرفا با این متغیر ما این متد رو غیر فعال میکنیم تا جایی که متوجه شدم و هیچ چیزی جایگزینش نمیکنیم و توسعه دهنده باید این مسیر رو بره.
یا من درست متوجه نشدم؟

مشکل رو حل کردم پیاده سازی ها هم انجام شده وقتی این قابلیت فعال بشه متد go_to_bank_gateway از دسترس خارج میشه و کاربر تمام مراحل رو مثل قبل میره و هیچ تفاوتی نداره فقط بجای استفاده ازbank.redirect_gateway() که هنگام فعال شدن قابلیت امن از دسترس خارج میشه باید از متد bank.get_gateway() استفاده کنه که دیتای مورد نیاز مثل url درگاه برای کاربر برگشت داده میشه که حالا هرطور که نیاز داره میتونه استفاده کنه مثلا :
context = bank.get_gateway()
return render(request, 'redirect_to_bank.html', context=context)
در این حالت کاربر میتونه حتی صفحه html رو هم طبق نیاز پروژه شخصی سازی کنه برای مثال لوگو خودشو قرار بده یا یک دکمه برای تایید و ادامه بزاره و .....
توضیحات بیشتر و نحوه استفاده رو داخل فایل README.md قرار دادم

@MrMRM1
ممنون بابت توضیحات خوبتون.
بنظرم اگر یو آر ال رو بزاریم در لول اپ تغییر بکنه بهتر خواهد بود.
همچنین لطفا
https://github.com/MrMRM1/az-iranian-bank-gateways/blob/0b7e71e31af8c6e88cac9439c393837a3f249c30/azbankgateways/views/samples.py#L31
این فایل رو هم چک کنین که تغییر یو آر ال و فعال کردن حالت سمپل باعث از کار افتادن این بخش نشه.
بعدش، به نظر مشکلی نیست و میتونه مرج بشه.
باز هم مجدد متشکر بابت زحماتی که کشیدین

@MrMRM1
همچنین اگر در اینجا
برای اسپیسینگ یو آر ال آپدیت صورت بگیرد عالی میشه.

سلام وقت بخیر
تغییرات لازم رو در قسمت مربوط به حالت سمپل ایجاد کردم تا در هنگام فعال بودن IS_SAFE_GET_GATEWAY_PAYMENT این قابلیت از دسترس خارج نشود
ویک اپشن جدید اضافه کردم برای کسانی که نیاز ندارند توابع داخلی مثل go_to_bank_gateway یا callback را اوررایت کنند فقط به این نیاز دارند که محل قرار گیری url ها  داخل اپ جداگانه ای باشد
با استفاده از CUSTOM_APP میتوان اینکار را انجام داد مثال :
'CUSTOM_APP' : 'api:payment'
و دیگر لازم نیست برای هر سه مورد جداگانه مسیر را مشخص کرد برای مثال url ها بصورت زیر میشوند.
/api/payment/bankgateways/go_to_bank_gateway/

repo: ali-zahedi/az-iranian-bank-gateways


text:
Russian Language is ready

I am excited to announce that the Russian language for Noto on Crowdin is now complete. This new feature will enhance the experience of Russian-speaking users.

Thank you, I'll add it in the next release!

repo: alialbaali/Noto


text:
使用arouter-api：1.3.1，arouter-compiler:1.1.4无法进行跨模块跳转，但本模块跳转是可以的

Look at here
01-24 09:41:15.860 17007-17007/com.fomin.arouter I/ARouter::: ARouter openLog[ ]
01-24 09:41:15.861 17007-17007/com.fomin.arouter I/ARouter::: ARouter openDebug[ ]
01-24 09:41:15.861 17007-17007/com.fomin.arouter I/ARouter::: ARouter init start.[ ]
01-24 09:41:15.862 17007-17007/com.fomin.arouter I/ARouter::: Run with debug mode or new install, rebuild router map.[ ]
01-24 09:41:15.868 17007-17007/com.fomin.arouter I/ARouter::: VM with name 'Android' has multidex support
01-24 09:41:15.870 17007-17007/com.fomin.arouter E/ARouter::: InstantRun support error, com.android.tools.fd.runtime.Paths
01-24 09:41:15.871 17007-17007/com.fomin.arouter I/ARouter::: Thread production, name is [ARouter task pool No.1, thread No.1][ ]
01-24 09:41:15.893 17007-17007/com.fomin.arouter D/ARouter::: Filter 9 classes by packageName <com.alibaba.android.arouter.routes>
01-24 09:41:15.896 17007-17007/com.fomin.arouter I/ARouter::: Find router map finished, map size = 9, cost 35 ms.[ ]
01-24 09:41:15.907 17007-17007/com.fomin.arouter I/ARouter::: Load root element finished, cost 10 ms.[ ]
01-24 09:41:15.907 17007-17007/com.fomin.arouter D/ARouter::: LogisticsCenter has already been loaded, GroupIndex[3], InterceptorIndex[0], ProviderIndex[2][ ]
01-24 09:41:15.909 17007-17007/com.fomin.arouter I/ARouter::: ARouter init success![ ]
01-24 09:41:15.910 17007-17007/com.fomin.arouter W/ARouter::: ARouter::No postcard![ ]
01-24 09:41:15.911 17007-17007/com.fomin.arouter W/ARouter::: ARouter::No postcard![ ]
01-24 09:41:15.913 17007-17007/com.fomin.arouter D/ARouter::: The group [arouter] starts loading, trigger by [/arouter/service/interceptor][ ]
01-24 09:41:15.915 17007-17007/com.fomin.arouter D/ARouter::: The group [arouter] has already been loaded, trigger by [/arouter/service/interceptor][ ]
01-24 09:41:15.919 17007-17007/com.fomin.arouter I/ARouter::: Thread production, name is [ARouter task pool No.1, thread No.2][ ]
01-24 09:41:15.922 17007-17007/com.fomin.arouter I/ARouter::: ARouter init over.[ ]
01-24 09:41:16.085 17007-17007/com.fomin.arouter W/ARouter::: ARouter::No postcard![ ]
01-24 09:41:16.085 17007-17007/com.fomin.arouter W/ARouter::: ARouter::No postcard![ ]
01-24 09:41:16.086 17007-17007/com.fomin.arouter D/ARouter::: The group [module1] starts loading, trigger by [/module1/main][ ]
01-24 09:41:16.087 17007-17007/com.fomin.arouter D/ARouter::: The group [module1] has already been loaded, trigger by [/module1/main][ ]

怎么解决的？现在是主模块调用没有，但是子模块调主模块就报错

authors: KitTak fomin-zhu

repo: alibaba/ARouter


text:
使用手机热点配网一直失败

Describe the bug
使用手机热点配网一直失败
environment

version: 2.1.0
chip or mode：MK3080 and ESP8266

Expected behavior
just like smartconfig
running log
nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000
OS SDK ver: 2.0-dev(d03acf5) compiled @ Feb 23 2018 19:45:05
empty
Wifi init success!!
mode : sta(68:c6:3a:b2:6d:0b)
add if0
Welcome to AliOS Things
[prt] log level set as: [ 5 ]
[000010] start_netmgr
[002020] do_awss_active 0
[002020] enable awss
[002020] ##########IOTX_AWSS_ENABLE
[002020] ###########IOTX_AWSS_START
[002020] zconfig_init
[002040] chan 1
[002050] [1] ssid:TP-LINK_C111, mac:7844fd90c111, chn:1, rssi:-85, adha:0
[002080] [2] ssid:Dooya_SmartMotor, mac:50fa849209c6, chn:1, rssi:-87, adha:0
[002090] [3] ssid:Dlinkwyy, mac:c8d3a3185c1e, chn:1, rssi:-90, adha:0
[002090] [4] ssid:PiaoHong-Wifi, mac:52fa84a209c6, chn:1, rssi:-86, adha:0
[002110] [5] ssid:TP-LINK_5A7F, mac:f631c3b885fc, chn:1, rssi:-96, adha:0
[002130] [6] ssid:ganyecheng, mac:c8d3a3185c22, chn:3, rssi:-67, adha:0
[002310] chan 6
[002350] [7] ssid:RootMesh, mac:1cf29acadce8, chn:6, rssi:-75, adha:0
[002370] [8] ssid:TP-LINK_IKEA, mac:94d9b32f8429, chn:6, rssi:-74, adha:0
[002390] [9] ssid:dd-wrt, mac:bcaec5e7b4dc, chn:6, rssi:-87, adha:0
[002410] [10] ssid:cisco-3B4B, mac:d824bd773b4d, chn:6, rssi:-92, adha:0
[002420] [11] ssid:demo, mac:487adab296b0, chn:6, rssi:-91, adha:0
[002490] [12] ssid:360免费WiFi-B7, mac:008736234db7, chn:6, rssi:-95, adha:0
[002580] chan 11
[002590] [13] ssid:H3C, mac:b0f963481f90, chn:11, rssi:-88, adha:0
[002590] [14] ssid:Dooya, mac:70f96db63bf0, chn:11, rssi:-84, adha:0
[002610] [15] ssid:office, mac:70f96dd14bf0, chn:11, rssi:-76, adha:0
[002640] [16] ssid:zhuqiqi, mac:224ce59a625d, chn:11, rssi:-81, adha:0
[002650] [17] ssid:RootMesh, mac:1cf29acafb80, chn:11, rssi:-82, adha:0
[002660] [18] ssid:kaohe1, mac:206be75a225a, chn:11, rssi:-65, adha:0
[002660] [19] ssid:TP-LINK_3596, mac:7405a5263596, chn:11, rssi:-75, adha:0
[002680] [20] ssid:RootMesh, mac:1cf29acabea8, chn:11, rssi:-85, adha:0
[002850] chan 1
[002860] [21] ssid:Moorgen_Hotel, mac:141fba8b14a8, chn:1, rssi:-93, adha:0
[003120] chan 2
[003120] [22] ssid:DYWM_TEST02, mac:50642b4685d5, chn:3, rssi:-93, adha:0
[003270] [23] ssid:???-TEST, mac:ec4118429898, chn:2, rssi:-92, adha:0
[003390] chan 3
[003660] chan 4
[003670] [24] ssid:Dooya_PH, mac:8cab8ed7c838, chn:4, rssi:-79, adha:0
[003930] chan 5
[004200] chan 6
[004470] chan 7
[004480] [25] ssid:D-Link_DIR-619L, mac:b0c554829c18, chn:8, rssi:-81, adha:0
[004740] chan 8
[005010] chan 9
[005280] chan 10
[005550] chan 11
[005820] chan 12
[005820] [26] ssid:TP-LINK_6C10, mac:ec26ca986c10, chn:12, rssi:-95, adha:0
[006090] chan 13
[006360] chan 1
[006630] chan 2
[006900] chan 3
[007170] chan 4
[007440] chan 6
[007500] [27] ssid:ID#06, mac:b8621f537d1d, chn:6, rssi:-96, adha:0
[007710] chan 8
[007980] chan 11
[008250] chan 12
[008520] chan 1
[008790] chan 6
[009060] chan 11
[009330] chan 1
[009600] chan 2
[009870] chan 3
[010140] chan 4
[010410] chan 5
[010680] chan 6
[010950] chan 7
[011220] chan 8
[011490] chan 9
[011760] chan 10
[012030] chan 11
[012300] chan 12
[012570] chan 13
[012840] chan 1
[013110] chan 2
[013120] [28] ssid:aha, mac:482ca0052659, chn:3, rssi:-50, adha:1
############sun [awss_recv_callback_aha_ssid]
[013130] found default ssid: aha
[013130] chan lock @ 2
[013130] #############IOTX_AWSS_LOCK_CHAN
[013130] zconfig done. ssid:aha, mac:482ca0052659
[013130] ssid:aha, bssid:482ca0052659, 3
[013130] ###############IOTX_AWSS_GOT_SSID_PASSWD
[013380] [chan scanning] 11340 ms
[013380] final chan 2
[013380] [chan recving] 11340 ms
[013380] ################IOTX_AWSS_CONNECT_AHA
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
pm open phy_2,type:2 0 0
cnt
connected with aha, channel 3
dhcp client start...
[WiFi] event 1
ip:192.168.43.207,mask:255.255.255.0,gw:192.168.43.1
[WiFi] event 4
[017020] Got ip : 192.168.43.207, gw : 192.168.43.1, mask : 255.255.255.0
[017020] In hotspot/router mode, do not post GOT_IP event here.
Wifi connected.
[017380] AP connected
[017380] awss connect ssid:aha success
[017380] #################IOTX_AWSS_GOT_IP
#sun ##[awss_cmp_local_init]
awss register /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/device/switchap
###sun [CoAPServer_register]
awss register /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/event/wifilist/get
###sun [CoAPServer_register]
awss register /sys/awss/device/info/get
###sun [CoAPServer_register]
awss register /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/device/info/get
###sun [CoAPServer_register]
######sun [awss_notify_dev_info]
[017390] topic:/sys/awss/device/info/notify
[017400] topic:/sys/awss/device/info/notify
[017400] payload:{"id":"1","version":"1.0","method":"awss.device.info.notify","params":{"awssVer":{"smartconfig":"2.0","zconfig":"2.0","router":"2.0","ap":"2.0","softap":"2.0"},"productKey":"a1YlsqdAPUS","deviceName":"pkZ8E2AH1f8NChrMKpiH","mac":"68:C6:3A:B2:6D:0B","ip":"192.168.43.207","cipherType":4,"random":"37E0C9EAF440C9AD46CFF85630F6B668","signMethod":0,"sign":"2B9A5D7C010233E2B0CDC9A3018BFCF8D32587D3"}}
[017400] send notify success
[017410] #################IOTX_AWSS_SETUP_NOTIFY
[017410] --------------------------------AWSS STATIS-----------------------------------
[017410] name                max     min     mean    cnt     suc     crc-err passwd-err
[017410] Router              0       0       0       0       0       0       0
[017410] SM                  0       0       0       0       0       0       0
[017410] WPS                 0       0       0       0       0       0       0
[017410] Aha                 0       0       0       1       0       0       0
[017410] Adha                0       0       0       0       0       0       0
[017410] Zconfig             0       0       0       0       0       0       0
[017410] Dev-ap              0       0       0       0       0       0       0
[017410] ------------------------------------------------------------------------------
[017410] start, ssid:aha, strlen:3
#########aha get ip address
#sun ##[awss_cmp_local_init]
awss register /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/device/switchap
###sun [CoAPServer_register]
[017420] CoAPResource_register:Alread exist
[017420] The resource /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/device/switchap already exist, re-write it
awss register /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/event/wifilist/get
###sun [CoAPServer_register]
[017430] CoAPResource_register:Alread exist
[017430] The resource /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/event/wifilist/get already exist, re-write it
awss register /sys/awss/device/info/get
###sun [CoAPServer_register]
[017430] CoAPResource_register:Alread exist
[017430] The resource /sys/awss/device/info/get already exist, re-write it
awss register /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/device/info/get
###sun [CoAPServer_register]
[017430] CoAPResource_register:Alread exist
[017430] The resource /sys/a1YlsqdAPUS/pkZ8E2AH1f8NChrMKpiH/awss/device/info/get already exist, re-write it
###sun[awss_devinfo_notify_resp]
[017490] payload:{"id":1, "code":200, "data":{}}
[062020] ###############IOTX_AWSS_ENALBE_TIMEOUT

你是用什么APP配网的，我用Iot Studio 生成的APP无法配网

问题已经解决，手机起热点配网，

repo: alibaba/AliOS-Things


text:
双向同步支持

请问，现在最新版本是否支持双向实时同步了？如果还未实现的话，是有什么难点呢，主要是解决数据回环问题吧，可以就如何解决数据回环等问题给个思路吗？暂时能想到的是在消息头里加上from=A的标识，若发现目标端是A就不往回同步了，但我们这个RedisShake可以设置在哪里呢？

没法实现，需要改内核代码来实现。
不依赖内核的话，之前有人提过用事务来搞，但是既不太优雅，暂时也没时间搞。

老哥，解决了吗，我看网上说可以用filters来实现，不过我尝试了下，没解决。

暂时没办法的

authors: Ryoui nimeijian suxb201

repo: alibaba/RedisShake


text:
有没有和AnyProxy功能相似，方便二次开发、可以部署生产环境的开源项目？

把评论区翻了一遍，anyproxy的开发者还是定位本地调试用，不建议用于生产环境。
那么用于生产环境有啥推荐吗？

@ppp1234
需要哪些功能？

您好，需要的功能：
1、开放二次开发能力，允许自定义请求处理逻辑
2、最好带登录验证，能够热更新规则（自定义请求的网站逻辑经常要变），能够生产环境长期稳定使用。
不知道是否有合适的？

请问：有没有试过，mitmproxy适用于生产环境吗？

repo: alibaba/anyproxy


text:
fix pre-commit failures and add pre-commit action

fix pre-commit failures

add pre-commit action: it's better to apply pre-commit check locally before pushing to the remote repo.

update isort version to the latest to avoid inconsistency in different envs.

All local tests on different environments (My mac/ubuntu/dev envs of @yxdyc, @zhijianma, and @chenhesen) are passed~🎉

repo: alibaba/data-juicer


text:
lint相关规则实际使用调优建议

建议把__html加入到@typescript-eslint/naming-convention的例外中

react/prop-types规则建议关闭，目前这条规则无法识别TS中SFC类型定义

@typescript-eslint/naming-convention 的规则配置非常复杂，需要具体梳理下，并 case by case 的做适配，后面我来具体跟进。
react/prop-types 将在下个小迭代关闭，这个规则反馈非常多，目前看也不合理。cc @xdlrt

max-lines-per-function：Functional Component 大环境下限制单函数行数也不合理，会导致编辑器大面积报黄，考虑 off 或改成 max-statements

authors: jeasonstudio soulwu

repo: alibaba/dawn


text:
密码加密自定义key时代码bug

String key = null;
if (configFileProperties != null) {
configFileProperties.getProperty(CONFIG_KEY);
}
是不是的修改成
String key = null;
if (configFileProperties != null) {
key  =  configFileProperties.getProperty(CONFIG_KEY);
}

是的，你来提交一个pull request吧

authors: lstoars wenshao

repo: alibaba/druid


text:
修复#4635：sort by 取值错误

fix #4635

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

authors: CLAassistant ytwp


text:
Dubbo 2.4.x dev

添加一个单机版的注册中心，大大的提高了项目的启动速度，方便开发人员的开发。

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: oldratlee:x: kimikimi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.

误操作

repo: alibaba/dubbo


text:
bugfix: 这里存在并发问题，如果并发调用ReferenceConfig.get有可能创建多个client出来

这里存在并发问题，如果并发调用ReferenceConfig.get有可能创建多个client出来。我们有些场景是直接用ReferenceConfig API来创建client，而不是使用spring的方式，这样就存在这个问题了

synchronized (key.intern()) 这个地方我觉得会有一些风险在，如果数据量比较大的时候，在不同的JDK 会有不同的表现。。。我觉得保守一点可能会比较好一些,同步 DubboProtocol.class 的方式可能会更稳一些 @yuyijq @chickenlj

@qinliujie 感觉DubboProtocol.class的范围有点大，另外这个key是server的address，应该不会太多吧，最多几百？

authors: qinliujie yuyijq


text:
枚举转换异常

            if (intValue < 0 || intValue >= ordinalEnums.length) {//ordinalEnums的长度是4，intValue =8
                throw new JSONException("parse enum " + enumClass.getName() + " error, value : " + intValue);
            }

@zxyIsStudent
Is there anyone had done something in this issue?
I am willing to solve it in a few months.

package com.alibaba.json.bvt.issue_3600;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONType;
import org.codehaus.jackson.annotate.JsonValue;
import org.junit.Test;

interface ValueType<T> {
    T getValue(String str);
}
enum QaStatus implements ValueType<Byte> {
    // begin
    NI(0, "未检品"),

    OK(1, "合格品"),

    SC(2, "二等品"),

    NG(3, "不良品"),

    HO(4, "已冻结");
    private final int value;
    private final String text;

    QaStatus(int value, String text) {
        this.value = value;
        this.text = text;
    }

    public Byte getValue(String str) {
        for (QaStatus qa : QaStatus.values()) {
            if (qa.text.equals(str)) {
                return (byte) value;
            }
        }
        return null;
    }
}

public class Issue3610 {
    @Test
    public void test_for_issue() {
        for (QaStatus qa : QaStatus.values()) {
            System.out.println(JSON.toJSONString(qa));
            System.out.println(JSON.toJSON(qa));
        }
    }
}

输出
"NI"
NI
"OK"
OK
"SC"
SC
"NG"
NG
"HO"
HO

感觉没问题...

authors: Certseeds zxyIsStudent

repo: alibaba/fastjson


text:
Update README.md

update version to 1.2.76

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

update version to 1.2.76

authors: CLAassistant rootcn


text:
[BUG]Fastjson2-2.0.28时间格式化报错

问题描述
Fastjson2-2.0.28时间格式化报错
环境信息
请填写以下信息：

OS信息：  [e.g.：CentOS 8.4.2105 4Core 3.10GHz 16 GB]
JDK信息： [e.g.：Openjdk 1.8.0_312]
版本信息：[e.g.：Fastjson2 2.0.28]

重现步骤
如何操作可以重现该问题：

使用 com.alibaba.fastjson2.JSON.parseObject 方法
输入 VO类  数据
出现 com.alibaba.fastjson2.JSONException: illegal date input, offset 125, character ", line 1, column 126, fastjson-version 2.0.28 错误

//可在此输入示例代码

相关日志输出
com.alibaba.fastjson2.JSONException: illegal date input, offset 125, character ", line 1, column 126, fastjson-version 2.0.28 {"@type":"com.cashy.payment.domain.vo.PayDeskOneCache","amount":1710000,"currency":"IDR","expireSeconds":43200,"expireTime":"2023-04-21 21:03:43.071","mchOrderNo":"16820426211962643102","merchantId":"2002088","orderNo":"PAYIN8337573427768262656","orderStatus":"PAYING","payCode":"8903909932118062","payProCode":"MandiriVA","qrCodeType":"0"}

expireTime 是Date数据类型，数据出现毫秒 就报错Json语法错误
2023-04-21 21:03:43.071

我这里没有重现，能提供更完整的错误堆栈信息么？

com.alibaba.fastjson2.JSONException: illegal date input, offset 124, character ", line 1, column 125, fastjson-version 2.0.28 {"@type":"com.cashy.payment.domain.vo.PayDeskOneCache","amount":700000,"currency":"IDR","expireSeconds":86400,"expireTime":"2023-04-21 16:37:59.072","mchOrderNo":"MCH8337325359814737920","merchantId":"3002094","orderNo":"PAYIN8337325359856680960","orderStatus":"PAYING","payCode":"6321344006656","payProCode":"BRIVA","qrCodeType":"0"}         at com.alibaba.fastjson2.JSONReaderUTF16.readMillis19(JSONReaderUTF16.java:5276)         at com.alibaba.fastjson2.reader.ObjectReaderImplDate.readDate(ObjectReaderImplDate.java:100)         at com.alibaba.fastjson2.reader.ObjectReaderImplDate.readObject(ObjectReaderImplDate.java:71)         at com.alibaba.fastjson2.reader.ORG_2_15_PayDeskOneCache.readObject(Unknown Source)         at com.alibaba.fastjson2.reader.ObjectReaderImplObject.readObject(ObjectReaderImplObject.java:125)         at com.alibaba.fastjson2.JSON.parseObject(JSON.java:857)         at com.cashy.frameworkapp.config.FastJson2JsonRedisSerializer.deserialize(FastJson2JsonRedisSerializer.java:46)         at org.springframework.data.redis.core.AbstractOperations.deserializeValue(AbstractOperations.java:335)         at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61)         at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:222)         at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:189)         at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96)         at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53)

`package com.cashy.payment.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.alibaba.fastjson2.JSONObject;
import com.cashy.common.config.CustomerBigDecimalSerialize;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
@Data
public class PayDeskOneCache {
private String merchantId;
private String mchOrderNo;
private String orderNo;
private String currency;
private BigDecimal amount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date expireTime;
@JsonFormat(pattern = "dd-MM-yyyy HH:mm")
private Date completeTime;
private String payCode;
private String payProCode;
private String qrCodeType;
private String pushNumber;
private String orderStatus;
private Long expireSeconds;
}
`
在Fastjson2-version-2.0.16是正常的，升级到2.0.28就会报错格式化错误

请问这个算bug吗？因为字符串个pattern确实不匹配呀

请问这个算bug吗？因为字符串个pattern确实不匹配呀

感觉有点奇怪，在2.0.16版本没有报错

Bean bean = JSON.parseObject(json, Bean.class, JSONReader.Feature.SupportSmartMatch);

加上SupportSmartMatch可以自动识别不匹配的格式

https://github.com/alibaba/fastjson2/releases/tag/2.0.29
请用新版本

  感谢温少，还冲锋在前线

温绍锦 @.***>于2023年4月22日 周六21:14写道：

https://github.com/alibaba/fastjson2/releases/tag/2.0.29
请用新版本
—
Reply to this email directly, view it on GitHub
https://github.com/alibaba/fastjson2/issues/1393#issuecomment-1518654894,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZB46DH5NY2DN5SSH3QCP43XCPKTFANCNFSM6AAAAAAXGIN6NY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Bean bean = JSON.parseObject(json, Bean.class, JSONReader.Feature.SupportSmartMatch);

加上SupportSmartMatch可以自动识别不匹配的格式

@wenshao  请教个问题，我目前用的是 JSONReader.Feature.SupportAutoType  如果 改成 JSONReader.Feature.SupportSmartMatch ，有没有安全的影响，比如说序列化的漏洞问题

`package com.xxx.framework.config;
import java.nio.charset.Charset;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONReader;
import com.alibaba.fastjson2.JSONWriter;
/**

Redis使用FastJson序列化
*/
public class FastJson2JsonRedisSerializer implements RedisSerializer
{
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
private Class clazz;
public FastJson2JsonRedisSerializer(Class clazz)
{
super();
this.clazz = clazz;
}
@Override
public byte[] serialize(T t) throws SerializationException
{
if (t == null)
{
return new byte[0];
}
return JSON.toJSONString(t, JSONWriter.Feature.WriteClassName).getBytes(DEFAULT_CHARSET);
}
@Override
public T deserialize(byte[] bytes) throws SerializationException
{
if (bytes == null || bytes.length <= 0)
{
return null;
}
String str = new String(bytes, DEFAULT_CHARSET);
 return JSON.parseObject(str, clazz, JSONReader.Feature.SupportAutoType);

}
}
`

authors: EvanMi JavaChinaLive wenshao


text:
Fix optimize codes

对 ObjectWriterBaseModule 中的空指针改为判断为非空，之前如果为 null，则会导致 getName 方法出现 NPE

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

请签署CLA，这样我才能合入代码

请签署CLA，这样我才能合入代码

温少您好，已签署 CLA

Codecov Report

Merging #135 (c9b0f1a) into main (79bef18) will decrease coverage by 1.36%.
The diff coverage is 80.00%.

@@             Coverage Diff              @@
##               main     #135      +/-   ##
============================================
- Coverage     65.71%   64.34%   -1.37%
+ Complexity     8548     8372     -176
============================================
  Files           421      421
  Lines         47011    47002       -9
  Branches       9578     9548      -30
============================================
- Hits          30892    30243     -649
- Misses        12435    13133     +698
+ Partials       3684     3626      -58

Impacted Files
Coverage Δ

...ibaba/fastjson2/writer/ObjectWriterBaseModule.java
80.98% <0.00%> (-0.20%)
:arrow_down:

...rc/main/java/com/alibaba/fastjson2/JSONReader.java
73.13% <100.00%> (-0.65%)
:arrow_down:

...ibaba/fastjson2/reader/ObjectReaderBaseModule.java
73.17% <100.00%> (-0.07%)
:arrow_down:

...alibaba/fastjson2/writer/ObjectWriterProvider.java
76.13% <100.00%> (-2.28%)
:arrow_down:

...ava/com/alibaba/fastjson2/JSONWriterUTF16JDK8.java
0.00% <0.00%> (-80.77%)
:arrow_down:

...main/java/com/alibaba/fastjson2/util/JDKUtils.java
29.03% <0.00%> (-41.30%)
:arrow_down:

...fastjson2/writer/FieldWriterObjectArrayMethod.java
0.00% <0.00%> (-37.24%)
:arrow_down:

...alibaba/fastjson2/writer/FieldWriterListField.java
12.50% <0.00%> (-27.50%)
:arrow_down:

...va/com/alibaba/fastjson2/reader/ValueConsumer.java
16.66% <0.00%> (-16.67%)
:arrow_down:

...n/java/com/alibaba/fastjson2/util/UnsafeUtils.java
64.15% <0.00%> (-15.10%)
:arrow_down:

... and 34 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 79bef18...c9b0f1a. Read the comment docs.

authors: CLAassistant HowardLei codecov-commenter wenshao


text:
enhancement change default buffer size from 8192 to 512 * 1024, with …

What this PR does / why we need it?
enhancement change default buffer size from 8192 to 512 * 1024, with buffer size being customized for InputStream input.
Summary of your change
Please indicate you've done the following:

[ ] Made sure tests are passing and test coverage is added if needed.
[ ] Made sure commit message follow the rule of Conventional Commits specification.
[ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

Codecov Report
Patch coverage: 81.25% and project coverage change: -1.84 :warning:

Comparison is base (83746b3) 75.97% compared to head (840bead) 74.13%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1554      +/-   ##
============================================
- Coverage     75.97%   74.13%   -1.84%
+ Complexity    20535    19764     -771
============================================
  Files           629      619      -10
  Lines         80941    80567     -374
  Branches      17697    17573     -124
============================================
- Hits          61493    59731    -1762
- Misses        12149    13459    +1310
- Partials       7299     7377      +78

Impacted Files
Coverage Δ

...in/java/com/alibaba/fastjson2/JSONReaderJSONB.java
70.67% <33.33%> (-1.30%)
:arrow_down:

...in/java/com/alibaba/fastjson2/JSONReaderUTF16.java
66.55% <66.66%> (-13.04%)
:arrow_down:

core/src/main/java/com/alibaba/fastjson2/JSON.java
70.71% <100.00%> (-0.49%)
:arrow_down:

...rc/main/java/com/alibaba/fastjson2/JSONReader.java
68.72% <100.00%> (-1.00%)
:arrow_down:

...ain/java/com/alibaba/fastjson2/JSONReaderUTF8.java
74.85% <100.00%> (-1.52%)
:arrow_down:

... and 101 files with indirect coverage changes

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


text:
[BUG] Segmentation fault when VDATA_T == std::string and the length of input vertex label is larger than 22

Describe the bug
Segmentation fault when VDATA_T == std::string and the length of input vertex label is larger than 22.
To Reproduce
To reproduce the bug, you may

set VDATA_T to std::string at run.h:173:
using GraphType = ImmutableEdgecutFragment<OID_T, VID_T, std::string, double>;
and change the first line of ./dataset/p2p-31.v from 1 7 to 1 7777777777777777777777

Expected behavior
The graph should be loaded successfully.
Additional context
This problem is caused at ev_fragment_loader.h:181:
basic_fragment_loader_.ConstructFragment(fragment);

Hi samjjx, libgrape-lite does not support a graph that the data type of vertex/edge is string or other complex types.

Hi @samjjx , this is fixed in #38 .

@luoxiaojian hi, xiaojian, thanks for your update!

authors: luoxiaojian pwrliang samjjx

repo: alibaba/libgrape-lite


text:
统计设备总内存使用率的时候为什么不用top而选择dumpsys meminfo

我发现用top和dumpsysinfo返回的设备总内存使用情况不一样，而且dumpsys meminfo每次查询比较慢，请问一下为什么要使用这个呢？

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/os/PerformanceCollector.java#endPerformanceSnapshot:
/*
* Stops tracking memory usage, binder transactions, and real & cpu timing.
* Stores collected data as type long into Bundle object for reporting.
*/
private void endPerformanceSnapshot() {
// Stop the timing. This must be done first before any other counting is
// stopped.
mSnapshotCpuTime = Process.getElapsedCpuTime() - mSnapshotCpuTime;
mSnapshotExecTime = SystemClock.uptimeMillis() - mSnapshotExecTime;
    stopAllocCounting();

    long nativeMax = Debug.getNativeHeapSize() / 1024;
    long nativeAllocated = Debug.getNativeHeapAllocatedSize() / 1024;
    long nativeFree = Debug.getNativeHeapFreeSize() / 1024;

    Debug.MemoryInfo memInfo = new Debug.MemoryInfo();
    Debug.getMemoryInfo(memInfo);

    Runtime runtime = Runtime.getRuntime();

    long dalvikMax = runtime.totalMemory() / 1024;
    long dalvikFree = runtime.freeMemory() / 1024;
    long dalvikAllocated = dalvikMax - dalvikFree;

    // Add final binder counts
    Bundle binderCounts = getBinderCounts();
    for (String key : binderCounts.keySet()) {
        mPerfSnapshot.putLong(key, binderCounts.getLong(key));
    }

    // Add alloc counts
    Bundle allocCounts = getAllocCounts();
    for (String key : allocCounts.keySet()) {
        mPerfSnapshot.putLong(key, allocCounts.getLong(key));
    }

    mPerfSnapshot.putLong(METRIC_KEY_EXECUTION_TIME, mSnapshotExecTime);
    mPerfSnapshot.putLong(METRIC_KEY_CPU_TIME, mSnapshotCpuTime);

    mPerfSnapshot.putLong(METRIC_KEY_NATIVE_SIZE, nativeMax);
    mPerfSnapshot.putLong(METRIC_KEY_NATIVE_ALLOCATED, nativeAllocated);
    mPerfSnapshot.putLong(METRIC_KEY_NATIVE_FREE, nativeFree);
    mPerfSnapshot.putLong(METRIC_KEY_NATIVE_PSS, memInfo.nativePss);
    mPerfSnapshot.putLong(METRIC_KEY_NATIVE_PRIVATE_DIRTY, memInfo.nativePrivateDirty);
    mPerfSnapshot.putLong(METRIC_KEY_NATIVE_SHARED_DIRTY, memInfo.nativeSharedDirty);

    mPerfSnapshot.putLong(METRIC_KEY_JAVA_SIZE, dalvikMax);
    mPerfSnapshot.putLong(METRIC_KEY_JAVA_ALLOCATED, dalvikAllocated);
    mPerfSnapshot.putLong(METRIC_KEY_JAVA_FREE, dalvikFree);
    mPerfSnapshot.putLong(METRIC_KEY_JAVA_PSS, memInfo.dalvikPss);
    mPerfSnapshot.putLong(METRIC_KEY_JAVA_PRIVATE_DIRTY, memInfo.dalvikPrivateDirty);
    mPerfSnapshot.putLong(METRIC_KEY_JAVA_SHARED_DIRTY, memInfo.dalvikSharedDirty);

    mPerfSnapshot.putLong(METRIC_KEY_OTHER_PSS, memInfo.otherPss);
    mPerfSnapshot.putLong(METRIC_KEY_OTHER_PRIVATE_DIRTY, memInfo.otherPrivateDirty);
    mPerfSnapshot.putLong(METRIC_KEY_OTHER_SHARED_DIRTY, memInfo.otherSharedDirty);
}

repo: alibaba/mobileperf


text:
inspection settings not effort

问题描述：
1.在idea的preference的inspections中设置Ali-check ，list中的选项去掉和页面右侧Severity进行修改都不生效。
修改后重启idea和不重启都是一样的，不生效。

macbook idea 2018.3.3和2020.3都进行设置，没有生效。
插件版本：现在最新的版本-2.1.0。

这里修改生效后只涉及实时扫描结果， 请问下您这边期望生效的范围是指？

这里修改生效后只涉及实时扫描结果， 请问下您这边期望生效的范围是指？

你好，修改生效后只涉及实时扫描结果，不涉及手动扫描操作。

authors: smiler158 xuantan zonghai


text:
test:add volume tests

Signed-off-by: letty letty.ll@alibaba-inc.com

Ⅰ. Describe what this PR did
Add CLI volume tests.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #705 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #705   +/-   ##
======================================
  Coverage    10.7%   10.7%
======================================
  Files          92      92
  Lines        5383    5383
======================================
  Hits          576     576
  Misses       4757    4757
  Partials       50      50

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8246e33...985c923. Read the comment docs.

LGTM

authors: Letty5411 allencloud codecov-io

repo: alibaba/pouch


text:
能否在vue项目中使用？

如题！

weex-ui是使用vue的dsl实现的，也即在web降级上面是跑的vue的，这里涉及到weex-vue-render
假如想单纯在纯vue项目中使用，可以讲原有使用替换成这个试试
import { WxcComponent1, WxcComponent2 } from "weex-ui/build/index.web.js"

@tw93 weex-ui 下没有build目录哦。请问怎么解决呢？

authors: NoraGithub mantou-kk tw93

repo: alibaba/weex-ui


text:
WXJsonUtils.fromObjectToJSONString()方法传递内部类，无法序列化json字符串

代码如下：jsoninit 的数据就会为{}
public class TMFerlizerUseInfoActivity extends TMBaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tmfui);
    setContainer((ViewGroup) findViewById(R.id.frameLayout_tmfui));
    SharedPreferences sp = this.getSharedPreferences("TMSharedPreferences", Context.MODE_PRIVATE);
    final String userName=sp.getString("UserName","tmnull");
    RenderJson j =new RenderJson();
    j.src= TMConstant.WebServer+TMConstant.fertilizerUseInfo+"?UserAID="+userName;
    String appData= WXJsonUtils.fromObjectToJSONString(j);
    renderPage(WXFileUtils.loadAsset("tmWeb.js", TMFerlizerUseInfoActivity.this),null,appData);
}
class RenderJson{
    String src="";
}

}

This PR/issue doesn't receive response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.

repo: alibaba/weex


text:
Add options argument and offset parameter

This is a renewal of #32 without all the bugs and with slightly better looking code. Here's my 2cents regarding the code in general:

No tests. If this is supposed to be maintained any longer, I'd volunteer to create at least some light weight unit tests with nodeJS assertions or tape (or whatever)
Javascript Version Before [insert deity/prophet/religious figure that's really old]: I'd also volunteer to add the most light weight babel setup I can find. I am all for simplicity and collaboration and such but in this case (IE10 looking at you) it just makes the codebase incredibly cumbersome (even at that small size)

Also, I added some semicolons based on JSHint. Since my first PR I graduated from "self-taught-career-change-U" to fulltime frontend dev and not having any form of linting seems arcane now. So I just went with JSHint as it seemed closest to what the existing code base was going for. Consistency ftw

looks good. although JSHint has added a whole bunch of semicolons ;  that are not required

Want me to revert those ;?

authors: camslice cideM

repo: alicelieutier/smoothScroll